zoukankan      html  css  js  c++  java
  • 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>;
            }

    这样就可以了

  • 相关阅读:
    前端要懂的视频知识DASH协议(建议收藏)
    HTML5 video标签播放视频下载原理
    dash视频服务器本地搭建 (初探)
    纵论WebAssembly,JS在性能逆境下召唤强援
    详解volatile在C++中的作用
    C++ lambda表达式
    Java 从入门到进阶之路(十七)
    Java 从入门到进阶之路(十六)
    Java 从入门到进阶之路(十五)
    Java 从入门到进阶之路(十四)
  • 原文地址:https://www.cnblogs.com/redmondfan/p/4410194.html
Copyright © 2011-2022 走看看