小巧玲珑的空间地理类型

时间:2013-08-06 18:48:59

标签: c# sql-server spatial dapper

我正在编写一些空间示例,并决定给Dapper一个机会,虽然EF有空间支持,我很想再次控制我的SQL(感谢Sam& Marc)。

但是,我需要能够拥有支持 DbGeography 类的POCO。例如:

public class BuriedTreasure {
   public int PirateId { get; set; }
   public DbGeography MarksTheSpot { get; set; }
}

我的谷歌foo一直让我失望,我能找到的最接近的匹配是this问题,虽然它只是为了增加空间支持作为参数(所以那里有50%)。

现在据我所知,我仅限于以下选项,对我来说这两种选择都不是一个可行的解决方案。

  1. 自定义dapper代码以了解SQL Server特定类型
  2. 指定LONG,LAT&我的POCO中的ELEVATION小数,并在我的存储过程中创建SPATIAL类型,并有另一个程序来检索值(或使用持久计算列,但几乎相同)
  3. 替代?

1 个答案:

答案 0 :(得分:0)

对于任何有兴趣的人,基本上我在上面发布的问题中选择了选项2。我将空间数据映射到小数。存储过程会进行一些额外的检查,因此很容易构建其中的点,即以下代码段:

Yarrrr = geography::Point(@Latitude, @Longitude, 4326)

基本上,DbGeography类是不可变的,去显示... RTFM :)

根本不需要改变短小精悍!