【发布时间】:2019-02-06 08:30:16
【问题描述】:
我一直在阅读 .NET Core 和 ASP.NET Core and Entity Framework 6。
说明
在 ASP.NET Core 应用程序中使用 Entity Framework 6 的推荐方法 是将 EF6 上下文和模型类放在一个类库项目中 目标是完整的框架。添加对类库的引用 ASP.NET Core 项目。
但是,当我实际执行以下操作时。
- 创建基于 .NET Core 的控制台应用程序
- 创建基于 .NET 完整框架的类库。
- 在类库中,添加 EDMX 并将其与 SQL 数据库链接。
- 请参阅 .NET Core 应用程序中的类库。
它不会让我编译并出现以下错误:
类型 DbSet 在未引用的程序集中定义。
这意味着我必须向控制台应用程序添加一个ADO.NET Entity Framework 引用,但它不允许我这样做,因为 .NET Core 应用程序不支持完整的实体框架。
当然,我遗漏了一些东西或者上面提到的帖子有误。
有什么问题?
【问题讨论】:
-
是否有任何不使用 EFCore 的具体原因?
-
是的,因为我正在尝试在实体框架实现无法更改但项目必须转到 .net core 的场景中
-
EF 6.3 将在 .NET Core 3 中得到支持(目前处于预览版 1 中):blogs.msdn.microsoft.com/dotnet/2018/12/04/…
-
@MandarJogalekar 这是一个相当不切实际的场景。迁移到 .NET Core 意味着必须进行很多更改。 EF Core 是未来完全受支持的版本,EF 6.3 及更高版本基本上处于维护模式
-
@MandarJogalekar 听起来 真正的 问题是如何使用 EDMX,而不是 EF 6。数据库优先 is available in EF Core 并且不需要 EDMX 文件。即使在 EF6 中,您也可以将数据库反向工程为代码优先类。 EDMX 是 EF 4-5 的工作方式。无论如何,这是您必须摆脱的东西
标签: c# .net entity-framework