2010-09-04 23 views
1

我有名爲Contact和Address的表,並且它們都有「ModifiedDate」列。我已經使用存儲過程編寫了CUD操作。但是,當涉及到SELECT存儲過程,我需要返回所有與他們的地址聯繫,我得到一個錯誤。實體框架 - 使用從不同實體返回相同列名的存儲過程

System.Data.EntityCommandExecutionException: 數據讀取器是 指定 'AddressBookModel.SelectAllContactsWithAddresses_Result2' 不相容。 類型'ModifiedDate1', 的成員在數據讀取器中沒有相應的列 具有相同的名稱。

我最終改變了存儲過程,爲那些列名返回不同的別名,更不幸的是,我需要改變模型中實體的屬性以及匹配選定的列。我寫了一篇關於這個here的博客文章。 我知道我可以爲兩個實體單獨選擇SP(和單獨的函數導入),但這只是一種情況,並且在其他情況下也可能發生,以及可能從一個複雜查詢返回SP。有人可以提供任何方向嗎?

回答

1

我在EF論壇上發佈了相同的問題EF here(對於交叉發帖抱歉),主持人確認這是EF中的一個錯誤,並要求我在Microsoft Connect中創建一個錯誤,並且錯誤ID爲597376和這裏是相同的link

從靈芝太陽 MSFT,在論壇>

Hello, After some research and test, 
> I can repro this issue at my side. 
> It can be a limitation of EF when 
> handling stored procedure return 
> values. I would recommend you open a 
> ticket at Microsoft Connect to report 
> this issue to the product team. If 
> it is convenient, please share us with 
> the ticket link here to benefit more 
> community members. 
主持人 支持