Entity Framework Core 不支持空间数据,我需要在我的应用程序中使用空间数据。
我可以在 .net core 中使用 Entity Framework 6 吗?如果可以的话我该如何注册DatabaseContext
in Startup.cs
?
Update
您现在可以将 EF 6.3 与 .NET Core 3.0 结合使用:
https://devblogs.microsoft.com/dotnet/announcing-ef-core-3-0-and-ef-6-3-general-availability/#what-s-new-in-ef-6-3 https://devblogs.microsoft.com/dotnet/announcing-ef-core-3-0-and-ef-6-3-general-availability/#what-s-new-in-ef-6-3
以下是摘录。然而,EF Core 这些天已经取得了长足的进步,在回到即将结束生命周期的产品之前,值得再试一次。具体针对您的问题,EF Core 支持映射到空间数据类型 https://learn.microsoft.com/en-us/ef/core/modeling/spatial使用NetTopologySuite空间库 https://github.com/NetTopologySuite/NetTopologySuite从2.2版本开始。
EF 6.3 中的新增功能
-
支持.NET Core 3.0
-
除了 .NET Framework 4.x 之外,EntityFramework 包现在还面向 .NET Standard 2.1。
-
这意味着 EF 6.3 是跨平台的,并且支持除 Windows 之外的其他操作系统,例如 Linux 和 macOS。
-
迁移命令已被重写,可以在进程外执行并与 SDK 样式的项目一起使用。
-
支持 SQL Server HierarchyId。
-
改进了与 Roslyn 和 NuGet PackageReference 的兼容性。
-
添加了 ef6.exe 实用程序,用于启用、添加、编写脚本和应用程序集的迁移。它取代了 migrate.exe。
在 .NET Core 中使用 EF 6.3 时存在某些限制。例如:
-
数据提供者还需要移植到.NET Core。我们仅移植了 SQL Server 提供程序,该提供程序包含在 EF 6.3 包中。
-
SQL Server 不会启用空间支持,因为空间类型无法与 .NET Core 一起使用。
-
请注意,此限制适用于 EF 6.3,但不适用于 EF Core 3.0。后者继续使用 NetTopologySuite 支持空间
图书馆。
-
目前不支持直接在 .NET Core 或 .NET Standard 项目上使用 EF 设计器。
原答案
它还没有准备好,但从 .NET Core 3.0 开始,您就可以了。
https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/ 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 https://youtu.be/GN54OV5cCBM?t=1146
但还有 EF6,我们已经宣布将移植到 .NET Core 上...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)