2012-09-14 78 views
1

我試圖在現有數據庫上使用Code First設置實體框架。數據庫不是很好(命名規則很差,需要一些約束)。我正在構建的應用程序是一個MVC應用程序。我有一個「模型」,「存儲庫」和「Web」(mvc)層。是否有可能將實體映射到實體框架中的存儲過程的結果?

要設置EF並映射我的模型對象(PO​​CO對象),是否需要將我的對象與數據庫表匹配?相反,我可以使用我自己的存儲過程進行CRUD操作嗎?如果我使用WCF數據服務會有幫助嗎?

我打算使用流暢的配置來映射我的對象,但由於數據庫模式有一些問題。我知道考慮重新設計數據庫,以便EF正確映射。任何建議將不勝感激!!

+0

可能的重複[是否實體框架代碼首先支持存儲過程?](http://stackoverflow.com/questions/4845246/does-entity-framework-code-first-support-stored-procedures) –

回答

0

是的,這是可能的,但並不特別容易。特別是,您必須調用context.Database.SqlQuery<T>(),其中T是您想要返回的實體類型,並且您的SQL必須匹配該實體類型。否則,您將不得不將結果集按摩到一個類型中。

一般來說,您將不得不手動完成大部分工作,儘管您可能想出一個T4模板來爲您生成它,或者可能使用CodeSmith等其他工具。

+0

非常感謝! –

相關問題