我在EF 5中遇到以下错误,并在网上大力研究,并认为这只是一个映射问题。我检查过的所有东西都很好。
有人可以根据以下信息告诉我错误可能是什么???
数据阅读器与指定的内容不兼容 'VisionModel.sSRPTFundexDocCodes1_Test_Result'。该类型的成员, 'NumEmployeesatApp1'在数据中没有对应的列 读者同名。
当我调试下面的代码片段时,就在我得到上述错误之后。
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<sSRPTFundexDocCodes1_Test_Result>("sSRPTFundexDocCodes1_Test", subscriberIDParameter, applicationNumParameter);
进入存储过程的参数是OK。
映射很好。映射的左侧是:NumEmployeesatApp
,右侧完全相同。
我完全删除了我的EDMX文件,并从头开始创建了同样的错误。 当我从函数中执行“获取列信息”时,列名称将出现在上述存储过程中的内容。
从EDMX文件(Vision)生成的模板和上面的存储过程的列完全匹配。
顺便说一下,我能够运行其他INSERT
&amp; SELECT
LINQ查询我没有遇到的EF 5模型。
答案 0 :(得分:4)
如果您使用带有输出参数的存储过程,则需要在函数导入中将返回类型标记为NONE,我遇到了同样的问题。这很奇怪,但它确实有效。