[英]Use EF6 with ASP.NET Core
我正在一個新項目-我想使用最新的.NET Core來完成。
通讀文檔,我發現了Entity Framework Core和Entity Framework 6.x比較之間的比較。 這里
我需要的一些功能包括:EF Core不支持Spatial Data Type
。 所以我不能使用它,因為項目中需要空間數據類型。
通過文檔再次去,我碰到了如何使用EF 6.x的使用.NET的核心此鏈接: 這里
在文章中提到( Here ):
在開始之前,請確保您在project.json中針對完整的.NET Framework進行編譯,因為Entity Framework 6不支持.NET Core。 如果需要跨平台功能,則需要升級到Entity Framework Core。
我真的不需要我的項目是跨平台的。
我創建了一個新的ASP.NET Core Web Application
然后我使用Nuget Package Manager安裝EF6,並收到以下錯誤
我去了從project.json
的框架中刪除了netcoreapp1.0
,並添加了net46
作為框架,這消除了EF的錯誤,但是現在我又遇到了另一個錯誤。
那么如何將EF6與ASP.NET核心一起使用?
當我使用EF6時,我必須刪除對.NET Core的所有引用,這是否意味着我沒有在使用.NET Core? 除了不能跨平台運行之外,它還有什么缺點?
要停止第二個錯誤,您需要從project.json
的dependencies
部分中刪除以下內容:
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
}
作為參考, 從ASP.NET Core項目引用完整的.NET Framework和Entity Framework 6的文檔提供了完整的project.json
示例。
刪除對.NET Core的引用並不意味着您沒有在使用ASP.NET Core。 您僅更改將在其上執行ASP.NET Core項目的目標運行時平台。
將ASP.NET Core與完整的.NET Framework結合使用,您將獲得新項目結構和統一故事的好處,可用於構建Web UI和Web API(例如,統一Controller
類),並且還可以訪問成熟的,功能齊全的.NET Framework,允許使用尚未移植到.NET Core的依賴項和NuGet包,例如Entity Framework 6。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.