簡體   English   中英

.NET Core - 針對舊的 .NET 框架

[英].NET Core - Targetting old .NET framework

我想要做的是:在 .net 核心應用程序(針對 .net 4.5)中使用舊項目(.NET 3.5)數據上下文和存儲庫。 我在下面給出了更詳細的解釋和我嘗試過的內容。

我想做什么

我正在工作中使用 .NET Core(在 .NET 4.6 框架上)構建一個 MVC 應用程序。 應用程序需要與現有數據庫集成。

通常在我的 .NET Core MVC 應用程序中,在startup.cs我會執行以下操作:

services.DbContext<Context>(options...)並解析連接字符串。 然后我執行services.AddTransient ... 並將存儲庫注入我的控制器,這讓我可以訪問數據庫。

但是,我想在工作中使用現有的代碼庫,而不是設置我自己的數據庫上下文、存儲庫和查詢。 我在與現有解決方案相同的解決方案中創建了我的項目。 現有項目是 Web 表單,並使用 .NET 3.5。 他們處理數據庫和存儲庫的方式有點不同——它使用System.Data.Linq DataContext ,並從web.config讀取連接字符串。 然后,控制器只是實例化此類的一個實例,而不是依賴注入。

我試過的

在我的startup.cs ,我嘗試創建一個 DataContext 並將其解析到另一個項目的存儲庫中,但它說類似You need to reference System.Data.Linq in the .NET framework 3.5.0

面向 .NET 4.5 的 .NET Core 項目是否可以使用使用 .NET 3.5 構建的數據上下文類和存儲庫?

我實際上解決了我的問題。 我覺得我說的還不夠清楚。 這是我的解決方案:

解決方案 - .NET 3.5 項目 - .NET 4.5 項目

我在較新的項目中從 .NET 3.5 項目創建了一個存儲庫,它正在創建一個查找web.config文件的數據上下文。 即使我創建了一個,它看起來也必須嘗試在啟動項目中找到web.config ,無論數據上下文是在哪里創建的。 我做了一個,但它仍然沒有檢測到,我不知道為什么。

我能夠進入舊項目並修改數據上下文以直接接收連接字符串。 但是,這並不理想 - 我將尋找一種方法將連接字符串從我的新項目傳遞到舊項目,我認為這是一個很好的解決方案。

@jwdeny 說我必須添加對 System.Data.Linq 的引用是正確的。 項目告訴我添加對3.5的引用,但添加System.Data.Linq 4.0就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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