我可以在.net核心中使用Entity Framework 6(不是核心)吗?

kos*_*tik 15 asp.net entity-framework spatial-data .net-core

实体框架核心不支持我需要在我的应用程序中使用的空间数据.

我可以在.net核心中使用Entity Framework 6吗?如果是这样,我怎么能注册DatabaseContextStartup.cs

Sae*_*ini 15

它尚未准备好,但从.NET Core 3.0开始,您将能够.

https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/

同样,EF6将更新为在.NET Core 3.0上运行,为使用EF6的现有应用程序提供简单的前进路径.

https://youtu.be/GN54OV5cCBM?t=1146

但是还有EF6,我们已经宣布它将被移植到.NET Core上...


Nik*_*iko 9

不,你不能直接,因为EF6不支持.NET Core.但是,您可以创建另一个项目,该项目针对完整的.NET框架进行编译并将其用作参考.

MS实际上为此做了一个不错的教程:https: //docs.microsoft.com/en-us/aspnet/core/data/entity-framework-6#reference-full-framework-and-ef6-in-the- ASP-净核项目

  • 如果这样做,是否可以在Linux服务器上部署解决方案? (2认同)

Jon*_*nan 6

更新:是的,EF6 自 6.3 版以来一直是跨平台的。https://devblogs.microsoft.com/dotnet/annoucing-ef-core-3-0-and-ef-6-3-general-availability/#what-s-new-in-ef-6-3


现在无效的原始答案:就像@Niko 所说的那样,你不能直接使用,EF6但有一个叉子允许它。

免责声明:我是Entity Framework Classic项目的所有者

Entity Framework Classic 是一个 EF6 分支。这是您喜欢 EF6 的一切,但具有更好的性能、必备功能、.NET Core 支持等。

有一个包含几乎所有内容的免费社区版和一个包含附加功能的企业版。

  • 确实是替代品的下降。比如说 AWS Lambda、Azure 函数、核心控制台应用程序…… (3认同)
  • EDMX 设计师怎么样? (2认同)