2 回答

TA貢獻1831條經(jīng)驗 獲得超4個贊
Entity Framework Core 2.2 版引入了空間數(shù)據(jù)支持。它采用NetTopologySuite數(shù)據(jù)類型,并將它們映射到geography或geometrySQL Server的類型。您可以通過 NuGet 安裝 NetTopologySuite:
Install-Package NetTopologySuite
您還需要以下 NuGet 包來為 SQL Server 提供 EF Core 空間數(shù)據(jù)支持:
Install-Package Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite
并UseNetTopologySuite在您的 EF 上下文配置中使用該選項:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(
@"my connection string",
x => x.UseNetTopologySuite());
}
然后你可以做這樣的事情:
var nearestCity = db.Cities
.OrderBy(c => c.Location.Distance(currentLocation))
.FirstOrDefault();
我在使用 Entity Framework Core Spatial Data 的博客文章中找到了附近的用戶。

TA貢獻1804條經(jīng)驗 獲得超2個贊
我只是偶然發(fā)現(xiàn)了您的帖子以及您提到的第一個鏈接。就在幾天前,EntityFrameworkCore 2.2.0 的預覽版發(fā)布了,它應該支持 SQL Server 中的空間數(shù)據(jù)類型。
請參閱https://github.com/aspnet/EntityFrameworkCore/issues/1100#issuecomment-417618315和以下評論。
我自己還沒有嘗試過,它可能無法 100% 工作,但肯定值得一試。
- 2 回答
- 0 關注
- 260 瀏覽
添加回答
舉報