Linq to Entities调用存储过程取不到OUTPUT变量值
2012-01-07 18:20
281 查看
问题描述:
存储过程部分:
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如出一辙。
存储过程部分:
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如出一辙。
相关文章推荐
- 关于linq to sql调用存储过程,出现"无法枚举查询结果多次"的问题
- Linq to Entity调用存储过程【转】
- 其他信息: 仅对 LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”。
- 【项目实战】--仅对 LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”
- linq to entity 调用存储过程(带返还结果集的存储过程)
- ASP.net:调用存储过程 -- 代码取不到输出(Output)参数值 - 因ExecuteReader不当使用
- Linq to Entities下存储过程的使用方法
- 关于linq to sql调用存储过程,出现"无法枚举查询结果多次"的问题
- 再接再厉VS 2008 sp1 + .NET 3.5 sp1(2) - Entity Framework(实体框架)之详解 Linq To Entities 之一
- EF和LINQ 调用存储过程
- The specified type member 'IsLock' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
- Only parameterless constructors and initializers are supported in LINQ to Entities
- LINQ to SQL与LINQ to Entities场景之对照(非原创)
- 步步为营VS 2008 + .NET 3.5(10) - DLINQ(LINQ to SQL)之调用存储过程的添加、查询、更新和删除
- LINQ to Entities 多条件动态查询
- LINQ to Entities 不识别方法“System.Guid Parse(System.String)”,因此该方法无法转换为存储表达式。
- 无法将类型“System.Nullable`1”强制转换为类型“System.Object”。LINQ to Entities 仅支持强制转换 EDM 基元或枚举类型。
- 报错: LINQ to Entities does not recognize the method...and this method cannot be translated into a sto
- LINQ to Entities
- Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:投影结果