簡體   English   中英

將EF6與ASP.NET Core一起使用

[英]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。

我真的不需要我的項目是跨平台的。

本文對如何將EF6與ASP.NET Core結合使用不太清楚。

我創建了一個新的ASP.NET Core Web Application

然后我使用Nuget Package Manager安裝EF6,並收到以下錯誤

在此處輸入圖片說明

我去了從project.json的框架中刪除了netcoreapp1.0 ,並添加了net46作為框架,這消除了EF的錯誤,但是現在我又遇到了另一個錯誤。

在此處輸入圖片說明

  1. 那么如何將EF6與ASP.NET核心一起使用?

  2. 當我使用EF6時,我必須刪除對.NET Core的所有引用,這是否意味着我沒有在使用.NET Core? 除了不能跨平台運行之外,它還有什么缺點?

要停止第二個錯誤,您需要從project.jsondependencies部分中刪除以下內容:

"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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM