• Linq to Entities调用存储过程取不到OUTPUT变量值


    问题描述:

    存储过程部分:

    ALTER PROCEDURE dbo.P_PurchaseSearch (@fromdate DATETIME, @todate DATETIME, @notpay INT, @id INT, @custormer INT, @istax INT, @spec INT, @company INT, @itemCount INT =0 OUTPUT, @pageIndex INT =1 OUTPUT, @pageSize INT =20 OUTPUT, @runTime INT =0 OUTPUT ) AS ...

    在.edmx模型中导入存储过程,如果有返回结果集,则建立一个复杂类型。

    在.cs文件中中调用时:

    ObjectParameter itemCount = new ObjectParameter("itemCount"10); 
    ObjectParameter pageIndex = new ObjectParameter("pageIndex"1); 
    ObjectParameter pageSize = new ObjectParameter("pageSize"20); 
    ObjectParameter runTime = new ObjectParameter("runTime"10); 
    var _result = dhhs.P_PurchaseSearch(fromdate, todate, notpay ?1 : 0, id, customer, istax, spec, company, itemCount, pageIndex, pageSize, runTime).ToList(); 

    调用后发现无法返回OUTPUT值,即传入值不发生改变,调试后发现存储过程无误,然后检查后台代码,发现之前是在页面类controller处初始化:

    dhhsdbEntities dhhs =newdhhsdbEntities(); 

    修正问题:

    在每次action调用前进行实例化就可以了ORZ,感觉跟之前使用的静态方法使不同的用户串话的bug如出一辙。

  • 相关阅读:
    用遗传算法解决子集和问题
    XML映射配置文件
    generator插件配置方式使用
    声明
    spring IOC简单分析
    模板模式
    原型模式
    委派模式,策略模式
    单例模式2
    单例模式
  • 原文地址:https://www.cnblogs.com/fhmsha/p/2315900.html
Copyright © 2020-2023  润新知