3

我在使用 EF 5 时遇到了以下错误,并在网上对其进行了大力研究,并认为这只是一个映射问题。我检查过的一切都很好。

有人可以根据以下信息告诉我错误可能是什么???

数据读取器与指定的“VisionModel.sSRPTFundexDocCodes1_Test_Result”不兼容。类型的成员“NumEmployeesatApp1”在数据读取器中没有同名的对应列。

当我调试下面的代码片段时,就在我得到上述错误之后。

return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<sSRPTFundexDocCodes1_Test_Result>("sSRPTFundexDocCodes1_Test", subscriberIDParameter, applicationNumParameter);

进入存储过程的参数是可以的。

映射就好了。左边的映射是:NumEmployeesatApp和右边完全一样。

我完全删除了我的 EDMX 文件并从头开始创建它,但发生了同样的错误。当我从函数中执行“获取列信息”时,列名与上述存储过程中的内容完全相同。

从 EDMX 文件 (Vision) 和上面的存储过程生成的模板具有完全匹配的列。

顺便说一句,我可以毫无问题地从 EF 5 模型中运行其他INSERT和LINQ 查询。SELECT

4

1 回答 1

4

如果您使用带有输出参数的存储过程,我遇到了同样的问题,您需要在函数导入中将返回类型标记为 NONE。这很奇怪,但它有效。

于 2013-07-11T17:11:33.880 回答