我正在尝试在SQL Server 2008 R2中使用sys.geography类型。我想将这种地理类型用于基于位置的查询。例如,我将位置(作为经度和纬度变量)传递给存储过程并返回附近的任何记录。
问题是实体框架不支持地理类型,因此我无法直接从c#设置此值。
通过在同一个表中创建LocationLatitude和LocationLongitude列,我解决了这个问题。我使用实体框架中的LocationLatitude和LocationLongitude列,并使用数据库存储过程中的地理类型“Location”列。
据我所知,有三种方法可以从这两个字段中获取地理“位置”列。
我想知道在性能方面哪个更好。我认为#1将是最差的,所以我认为这是#2和#3之间的折腾。
我目前正在使用#3(数据触发器),但我知道通常最好避免使用数据触发器。这意味着#2(视图)从这个角度来看是最好的但是......我担心使用#2可能是一个令人难以置信的愚蠢的事情,出于某种原因。 Stack Overflow是检查它的最佳位置!
Soo ......我应该使用#1,#2,#3或其他方法吗?
答案 0 :(得分:1)
Entity Framework 5支持地理数据类型。