问题描述:
存储过程部分:
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如出一辙。