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>;
        }

 

这样就可以了

 

转载于:https://www.cnblogs.com/redmondfan/p/4410194.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值