【发布时间】:2019-03-11 22:28:11
【问题描述】:
我在 Postgresql 中有一个空间数据。例如表planet_osm_point有2个属性:
CREATE TABLE public.planet_osm_point
(
osm_id bigint,
way geometry(Point,3857)
)
如果我使用简洁的 CRUD 操作一切正常。但是,如果我使用 Dapper.fastCRUD,那么几何的“方式”属性始终为空
类 OsmPoint:
using NetTopologySuite.Geometries;
using System.ComponentModel.DataAnnotations.Schema;
namespace DapperTest
{
[Table("planet_osm_point")]
public class OsmPoint
{
[Column("osm_id")]
public long OsmId { get; set; }
[Column("way")]
public Point Way { get; set; }
}
}
如果我使用 Dapper,那么我会收到 Way 属性有几何坐标:
using (NpgsqlConnection conn = new NpgsqlConnection(_connectionString))
{
conn.Open();
conn.TypeMapper.UseNetTopologySuite();
var result = conn.Query<OsmPoint>("SELECT * FROM planet_osm_point LIMIT 5000").ToList();
return result;
}
但是如果我使用 Dapper.fastCRUD 那么 Way 总是为 null
using (NpgsqlConnection conn = new NpgsqlConnection(_connectionString))
{
conn.Open();
conn.TypeMapper.UseNetTopologySuite();
var result = conn.Find<OsmPoint>(p=>p.Top(5000));
return result;
}
有人知道如何让 Dapper.fastCRUD 处理几何数据吗?
【问题讨论】:
标签: postgresql dapper spatial dapper-fastcrud