如何在 Core 2.1 中引用 EF(Database First Approach)项目程序集

Posted

技术标签:

【中文标题】如何在 Core 2.1 中引用 EF(Database First Approach)项目程序集【英文标题】:How to refer EF (Database First Approach) project assembly in Core 2.1 【发布时间】:2021-11-04 03:18:54 【问题描述】:

我们目前正在将 ASP.NET MVC Web 应用程序迁移到 ASP.NET Core Web 应用程序。我们的 MVC 应用程序中提到了几个基础项目。因此,为了在我们的新 Core 应用程序中使用相同的 MVC 基础项目,我们计划选择 Core 2.0。

我们可以在我们的核心应用程序中引用所有构建在实体框架中的基础项目,除了我们的数据库基础项目。我们的数据库基础项目是使用数据库优先方法构建的,并且包含实体。因此,在引用该项目时,我们在使用 DB Context 时遇到了问题。

是否可以在 .NET Core Web 应用程序中引用包含实体类的项目?

【问题讨论】:

你可以参考这个帖子,可能对你有帮助:***.com/questions/38961115/… 【参考方案1】:

首先不要将Core 2.1 用作it reached EOL。第二次检查EF Core compatibility table - 您可以将 EF Core 3.1 与 .Net Framework 4.7.2+ 一起使用。您也可以使用EF 6.3 with .Net Core 3.1。 我建议您从将 EF 6 迁移到 EF Core 3.1 开始,然后才将 ASP.Net 迁移到 ASP.Net Core 3.1 或 5.0(可能 6.0 会在您完成 EF Core 之前到达,如果是这样,请接受它,因为它是将是 LTS 版本)。 您可以在同一个 ASP.Net 服务中同时使用 EF 6 和 EF Core,因此可以一次完成小块迁移,而不是一次性完成整个 DAL。参考this answer。

【讨论】:

以上是关于如何在 Core 2.1 中引用 EF(Database First Approach)项目程序集的主要内容,如果未能解决你的问题,请参考以下文章

EF Core 2.1 中的新增功能

如何在 .NET EF Core 中实现自引用多对多关系

EF CORE 2.1 HasConversion 在日期时间类型的所有属性上

EF Core 2.1变化

Dotnet EF Core 2.1 在查询小数属性时抛出 QueryClientEvaluationWarning

定义引用同一个表的多对多关系(EF7/core)