2010-05-23 368 views
11

我試圖將我的模型優先項目轉換爲代碼優先項目,因爲我可以看到使用圖形設計器處理模型將變得困難。不幸的是,在我所有的搜索引擎中,我找不到一個很好的參考文獻來描述如何進行代碼優先開發。大多數資源已過時(所以過時了,它們將其稱爲僅用於代碼),而我能找到的其他參考似乎假定您瞭解上下文構建和代碼優先的基礎知識(例如,它們將代碼引用到構建上下文,但不描述代碼實際應該在哪裏以及它如何實際運行)。有沒有優秀的資源來開發實體框架4代碼優先?

是否有任何像樣的資源代碼優先發展,介紹如何將你的POCO實體映射到數據庫模式?


編輯:好吧,我現在就放棄代碼。我在答案中鏈接到的入門文檔似乎存在一些缺陷(例如,關於上下文構建和EntityConnection dbConnection類型的一些細節,以及一些關係映射代碼沒有按照它們編寫的方式進行編譯)。我花了2天的時間試圖找到任何方法來實現這一目標,並且我接近了(我認爲),但最終因谷歌完全無益而失敗。到目前爲止,我認爲繼續進行Model的第一次開發會更有效率,並且希望在edmx變得笨拙的時候代碼優先不再處於CTP狀態,並且更好(如在一些實際存在的)文檔。

我正在將POCO的答案標記爲正確的答案,因爲儘管它需要一個數據庫和一個數據庫,但它實際上並不是代碼優先,如果您希望在代碼中擁有實體,它可能是最好的選擇在EDMX生成之前它會生成EDMX。

回答

2

好吧,我已經接近了一點。

好像代碼首先不是在VS2010的最終發佈的版本包括在內。因此,爲了使用它,你必須下載實體框架CTP 3 http://www.microsoft.com/downloads/details.aspx?FamilyID=af18e652-9ea7-478b-8b41-8424b94e3f58&displayLang=en。這似乎是EF的最新CTP。

安裝,你必須添加到Microsoft.Data.Entity.CTP的引用之後。

最後,CTP下載頁面把我帶到http://blogs.msdn.com/adonet/pages/feature-ctp-walkthrough-code-only-for-the-entity-framework.aspx。儘管頁面上的日期是2009年6月,但它聲稱它已經更新,並且CTP(2月發佈)指向它,因此它可能仍然是準確的。我明天會玩,看看它究竟有多準確。

+0

這個成功嗎? – 2010-06-10 03:19:31

+0

Nope :(。入門示例不適用於我,我無法弄清楚,因此我決定先回到模型,直到有最新的工作文檔。 – KallDrexx 2010-06-10 16:45:28

1

this也許你在之後。

切實你只需要使用你的EF模型來定義映射到數據庫,而不是生成類,並創建上下文通過EF模型映射到你的對象鏈接到數據庫。

2
+0

真棒感謝您的鏈接,我仍然會堅持,因爲他們表示仍然可能會有API更改,但這是很好的準備! – KallDrexx 2010-07-16 12:29:28

0

添加一個新的答案作爲一個供參考。

隨着最新的Code-first CTP和Scott Gu的教程(找到了here),我的模型優先系統在沒有時間的情況下轉換爲代碼優先。

我不知道API會改變多少東西,但現在至少有很好的信息來開始使用代碼。

0

ASP.NET MVC站點here上的演示首先提供了一些優秀的代碼示例。 5.模型(數據)首先使用實體​​框架代碼調用演示本身。