Dot-Net

EntityFramework.dll vs System.Data.Entity.dll - 歧義

  • September 23, 2016

我想知道 EntityFramework.dll 和 System.Data.Entity.dll 有什麼共同點,又有什麼不同?我的項目引用 System.Data.Entity.dll (June CTP) 來利用程式碼優先模型,一切正常。

現在我希望使用 Code First Migrations 工具,它需要我還必須添加到我的項目中的 EntityFramework.dll。但是,當引用這兩個庫(EntityFramework.dll 和 System.Data.Entity.dll)時,我會收到很多編譯器錯誤,認為這兩個庫中都定義了一些類。

當我刪除 EntityFramework.dll 時,項目會再次編譯,但我無法使用遷移。當僅引用 EntityFramework.dll 時,我收到編譯器錯誤,告訴我找不到某些類(例如空間數據類型)。

在這種情況下我該怎麼辦?先感謝您!

System.Data.Entity.dll 版本“4.2.0.0”(CTP 2011 年 6 月)包含 EFv4.0 和 EFv4.1 = ObjectContext API 和 DbContext API + 新功能的所有內容,但它可能是很長一段時間以來唯一的版本將這兩個 API 組合在同一個程序集中。這個 CTP 已經死了。新的核心功能將移至 .NET 4.5,並且 DbContext API 仍將作為包含 EntityFramework.dll 的單獨 NuGet 包提供。一切都在這裡描述。

程式碼遷移依賴於 EFv4.1 Update 1 及其 EntityFramework.dll。它們與 June CTP 不兼容,並且在其安裝說明或先決條件中直接描述= 您不能將它們與 June CTP 一起使用。

引用自:https://stackoverflow.com/questions/7896024