我们在EF4模型中使用函数导入来填充模型中的现有实体。模型中的实体具有我们正努力映射的Id的Key字段,因为我们的存储过程不会返回Id字段。我已经尝试将映射中的值设置为0的文字值,但失败时会出现EntityCommandExecutionException和以下异常文本。存储过程映射实体框架
数据读取器与指定的“候选”不兼容。类型成员'Id'在数据阅读器中没有相应的列,名称相同。
修改存储过程以返回虚拟Id字段的缺点任何人都可以推荐最佳方法是什么,因为虚拟字段选项对我来说非常笨重。
非常感谢
感谢您的答复克雷格。我们基本上试图做的是仅仅从一个不同的数据库表添加一个Candidate到上下文,所以通过直接映射到存储的proc和函数导入,它使我们不必从函数返回的复杂类型映射到候选实体在代码中。 如果这就是我们所要做的,那就没问题,但是看起来奇怪的是,当EF知道sp的返回模式并且知道它永远不会对候选者进行工作时,EF将允许我绑定到候选实体。这导致我相信我们错过了一些东西。 – 2010-07-09 19:00:20