2009-12-14 147 views
1

我試圖按照此link將存儲過程映射到自定義實體,但是當我這樣做時,我無法打開VS 2008設計器中的EDMX文件。 因此看起來像是造成了一些問題。實體框架3.5,將存儲過程結果映射到自定義實體

有誰知道如何映射存儲過程結果到實體框架中的自定義實體?

+2

沒有人可能可以幫助您解決您的錯誤,如果你(1)沒有*完全解釋*你在做什麼,(2)不能正確解釋*什麼不起作用。您引用的博客文章已經很好地回答了您實際問到的問題。由於這不會對您有所幫助,因此您需要花費更多精力來解決您的問題。作爲一個經驗法則,不要花費更少的精力來問問題,而是期望別人花費時間來回答問題。 – 2009-12-14 19:18:17

回答

3

在VS2010和EF4這是非常容易的待辦事項。 當您執行一個函數導入時,會有一個額外的選項將集合作爲複雜類型返回。更好的是,'Add Function Import'對話框底部有一個特性,它將嘗試從存儲的proc結果集中獲取列。最後,它提供了基於結果集的一鍵式「創建新複雜」類型的選項。看起來英孚團隊認爲這是一種痛苦,並採取了一切必要措施來使這一過程更加輕鬆。

我們有一個大型項目,我們即將開始(大型意義30+開發人員,並採取2+年來完成)。我們正在權衡使用標準ADO.Net,EntityFramwork或第三方ORM(如LLBLGen)的選項。我們目前看到的是Entity Framework 4版本是一個功能更全面的ORM。我會非常懷疑@在VS2008中使用EF主要是因爲你在這篇文章中討論的問題+ EF如何處理VS2008版本中的FK's(http://blogs.msdn.com/efdesign/archive/2009/03/16/foreign-keys-in-the-entity-framework.aspx

0

我剛剛成功解決了以下問題您提供的相同演練鏈接。 (我想這個答案適用於任何在搜索中發現這個未答覆的問題的人)。

我的問題是我沒有正確打開ssdl文件。您必須右鍵點擊解決方案窗口中的edmx文件 - >「打開方式」 - >「xml(文本)編輯器」來打開它,否則文件在進行更改後將無法正確構建,您將不會能夠看到你的模型的圖形表示。只要你完成他的教程只編輯文件的ssdl部分,它就可以工作。小心一點。在外部程序(如Notepad ++)中打開此文件的ssdl部分將無法工作。

希望能幫助別人。我的問題是現在通過列表框的SelectedItem屬性顯示實體查詢結果作爲我的臨時參數st