我有一個使用全文搜索視圖的存儲過程。
我試圖將結果映射到現有實體(Sales
),其中我將MivType
列映射到SaleType
(因爲它更有意義,並且我想讓db名稱遠離我的網站)。存儲過程映射到函數導入,並將其ReturnType定義爲Sales
。
只要實體具有與字段名稱相同的屬性名稱,就可以很好地工作。實體框架 - 映射不映射存儲過程?
這裏是我的問題:當我改變屬性的名稱,我得到以下錯誤運行導入功能後:
數據讀取器與指定的「Model.Sale」不兼容。類型爲'SaleType'的成員在數據讀取器中沒有相應的列,並且名稱相同。
我可以解決這個問題,如果我改變對實體財產「SaleType」到「MivType」,但我爲什麼要那樣做?這不是映射的目的嗎?
這意味着我必須使用存儲過程和實體完全相同的名稱,所以實際上,映射被忽略(我有像YzrName
,MivYaad
等名稱,我不喜歡它)。
有沒有簡單的解決方法呢?我不想在我的應用程序中使用db名稱,並且更喜歡不更改存儲過程...
(我應該提到我是EF的初學者,所以這可能是一個新手的錯誤)
謝謝。
我會接受的答案,因爲EF設計不能很好地工作,不惜一切,但我我不知道我可以通過XML來修復那個問題,可惜我沒有時間去確認這個問題, – Kobi 2010-02-01 05:52:39
@Kobi你有解決這個問題的方法嗎?在我的項目面臨同樣的問題。請建議我...我知道這是爲時已晚.. – user1882705 2013-11-20 16:37:39
@ user1882705 - 不幸的是我沒有一個真正的解決方案 - 我留下了醜陋的名字。此外,該項目被取消。但是 - 這個問題已經超過3歲了,我希望這個bug現在已經被修復了。實體框架現在在版本6上。對不起。 – Kobi 2013-11-20 22:09:58