一般的存储过程只在.dbml文件的设计视图中拖入即可,系统自动会形成方法。
Linq的存储过程返回的结果集如果不是实际存在的表(比如:临时表),没法生成模型类,就没法返回结果集了,这类存储过程生成的方法的结果集一般都是int类型。
有时候我们需要在存储过程里面写临时表,且将关联的若干张表的数据更新到临时表中来取数据,
而不使用视图或者左联右联,这样会提高查询的效率。
解决方法:
1、在数据库里创建一张表,结构要和临时表的列一致,比如叫T1;
2、把存储过程内容注释掉,改成简单的select * from T1;
3、把存储过程拖入设计器,编译。
4、修改存储过程为原来的代码,删掉T1表