Npgsql.PostgresException (0x80004005): 42883: function st_distance(point, geography) does not exist
nuget:Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite
Entity
using NetTopologySuite.Geometries;
public Merchant {
public string Name { get; set; }
public string Door { get; set; }
public string Phone { get; set; }
public Point Location { get; set; }
}
Dbcontext
protected override void OnConfiguring(DbContextOptionsBuilder builder)
{
builder.UseNpgsql("Host=localhost;Database=test;Username=npgsql_tests;Password=npgsql_tests",
o => o.UseNetTopologySuite());
}
protected override void OnModelCreating(ModelBuilder builder)
{
builder.HasPostgresExtension("postgis");
}
查詢 pgsql中location的型別為:point 值"(106.2889702,31.2832916)"
var currentLocation = new Point(106.2972496, 31.2669647) { SRID = 4326 };
var data = _dbContext.Merchant.Where(x => x.Location.Distance(currentLocation) < 100).ToList();
報如下錯誤:PostGIS 已安裝

uj5u.com熱心網友回復:
st_distance函式不存在,看資料庫版本支不支持這個函式uj5u.com熱心網友回復:
PostGIS 已安裝uj5u.com熱心網友回復:
錯誤很明顯function st_distance(point, geography) does not exist
uj5u.com熱心網友回復:
我用原生SQL都可以用st_distance
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/225218.html
標籤:ASP.NET
下一篇:有沒有簡單點的c#教程
