Chr*_*ris 13 stored-procedures output-parameter entity-framework-4
我有一个包含大量复杂存储过程的现有数据库,我想通过EF 4使用这些过程.我已经完成了以下操作:
Customer
.MyFunction
,复杂类型.结果代码:
CustomerEntities entity = new CustomerEntities();
var result = entity.MyFunction("XYZ", ref o_MyString);
Run Code Online (Sandbox Code Playgroud)
现在我的存储过程有一个输出参数,我以前用它来调用(在WebForm中).但我收到以下错误:
无法从'ref string'转换为'System.Data.Objects.ObjectParameter'
请帮忙
编辑
当我试图保存时,我收到以下错误
映射函数绑定指定具有不受支持的参数的函数Model.Store.P_GetCustomer:o_MyString.输出参数只能通过RowsAffectedParameter属性进行映射.使用结果绑定从函数调用返回值.
Lad*_*nka 36
输出参数在ObjectParameter
实例中返回.所以你必须使用如下代码:
var oMyString = new ObjectParameter("o_MyString", typeof(string));
var result = ctx.MyFunction("XYZ", oMyString).ToList();
var data = oMyString.Value.ToString();
Run Code Online (Sandbox Code Playgroud)
原因是函数导入不能使用ref参数,因为输出参数在您处理数据库结果集之前未填充=如果您不调用ToList
或迭代存储过程的结果,则输出参数为null.
归档时间: |
|
查看次数: |
34752 次 |
最近记录: |