我們在EF4模型中使用函數導入來填充模型中的現有實體。模型中的實體具有我們正努力映射的Id的Key字段,因爲我們的存儲過程不會返回Id字段。我已經嘗試將映射中的值設置爲0的文字值,但失敗時會出現EntityCommandExecutionException和以下異常文本。存儲過程映射實體框架
數據讀取器與指定的「候選」不兼容。類型成員'Id'在數據閱讀器中沒有相應的列,名稱相同。
修改存儲過程以返回虛擬Id字段的缺點任何人都可以推薦最佳方法是什麼,因爲虛擬字段選項對我來說非常笨重。
非常感謝
感謝您的答覆克雷格。我們基本上試圖做的是僅僅從一個不同的數據庫表添加一個Candidate到上下文,所以通過直接映射到存儲的proc和函數導入,它使我們不必從函數返回的複雜類型映射到候選實體在代碼中。 如果這就是我們所要做的,那就沒問題,但是看起來奇怪的是,當EF知道sp的返回模式並且知道它永遠不會對候選者進行工作時,EF將允許我綁定到候選實體。這導致我相信我們錯過了一些東西。 – 2010-07-09 19:00:20