LINQ TO SQL 怎样 执行存储过程并返回存储过程的临时表
查了GOOGLE一下,这种办法可以解决
我的存储过程是这样的:
CREATE procedure cal_month_dep_fast @begdt datetime,@endt datetime
as
。。。。。。。。。
select dep_no ,prod_no ,batch_no ,prod_add ,dep_date ,dep_num ,inv_num,lest_num ,buy_price from #tempresult
在linq to sql可以通过以下办法解决
1 建个类(记得一定要public的,不然出错)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq.Mapping;
using System.Linq.Expressions;
namespace sbsc
{
[Table]
public partial class MyProc_Result
{
public MyProc_Result() { }
[Column]
public string dep_no;
[Column]
public string prod_no;
[Column]
public string batch_no;
[Column]
public string prod_add;
[Column]
public DateTime dep_date;
[Column]
public decimal dep_num;
[Column]
public decimal inv_num;
[Column]
public decimal lest_num;
[Column]
public decimal buy_price;
}
}
2然后在LINQ的DBML的designer.cs文件里增加如下:记得名字可能与之前的存储过程名字稍为改一下
[Function(Name = "dbo.cal_month_dep_fast")]
public IEnumerable<MyProc_Result> cal_month_dep_fast2(DateTime begdt, DateTime endt)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), begdt, endt);
return result.ReturnValue as IEnumerable<MyProc_Result>;
}
这样就可以了
posted on 2015-04-09 17:08 redmondfans 阅读(570) 评论(0) 编辑 收藏 举报