我幾乎沒有碰過EF4,但我已經用了很多LINQ to sql。我想開始進入一個EF模板,但我不知道哪些情況對每個模板都有意義,或者他們的意圖是什麼。各種模板類型的用途,優點和缺點是什麼?
我有以下幾種可能:
- 數據模板
- ADO.NET實體數據模型
- 基於服務的數據庫(這甚至關係到EF
- 碼?模板(我熟悉T4)
- ADO.NET EntityObject基因rator
- ADO.NET自跟蹤實體發生器
- Online模板
- ADO.NET C#POCO實體發生器
我幾乎沒有碰過EF4,但我已經用了很多LINQ to sql。我想開始進入一個EF模板,但我不知道哪些情況對每個模板都有意義,或者他們的意圖是什麼。各種模板類型的用途,優點和缺點是什麼?
我有以下幾種可能:
我不知道什麼情況下做出 感覺每個或他們的意圖 是
不合理的聲音粗魯,但你有沒有在MSDN/ASP.NET看看?有大量的信息。並且有一個lot到這些模板中的每一個,比我更多的可以進入這裏。每個頁面都有一個MSDN頁面。
這就是說,我給你一個快速總結,所以在這裏絆倒的人有一些信息。
ADO.NET實體數據模型
這是您創建使用實體框架作爲你的ORM的文件,它是強制性使用EF。在你使用任何其他人之前,你需要這個。您可以用多種不同的方法,包括數據庫第一(從數據庫生成),代碼爲先,型號爲先,等
基於服務的數據庫
我創建EDM從來沒有聽說過這個術語,並且鑑於我最近一直在與EF一起工作(和閱讀),我懷疑這與EF有關。
ADO.NET EntityObject發生器
生成類從EntityObject類繼承的實體。與默認的EF代碼生成器相同,除了將輸出代碼放入Model.edmx.designer.cs(默認)文件中之外,代碼將放入單獨的文件中。我個人認爲這個模板沒有任何好處。
ADO.NET自跟蹤實體發生器
生成實體類時,你要開發的N層應用(也就是說,如果你想允許一個WCF/Silverlight應用程序與你的模型工作)。爲了處理來自各種應用程序的持久性操作,實體被EF Graph設置爲「可跟蹤」。
ADO.NET C#POCO實體發生器
我最喜歡的。 :)爲從繼承的實體生成類。他們不知道它們被用於持久性。當你想要持久性 - 無知,可測試性和鬆散耦合你的域/持久層時,將它用於應用程序。
你現在也可以選擇「Code First」,只是爲了使事情複雜化,儘管它現在只是一個CTP。 – 2010-10-21 18:15:12