代码之家  ›  专栏  ›  技术社区  ›  Mr. Flibble

Linq&不支持的数据类型(地理位置)

  •  5
  • Mr. Flibble  · 技术社区  · 15 年前

    Geography

    有什么方法可以扩展Linq来处理地理数据类型吗?

    我已经在这上面耽搁了几天了,不知道有没有可能。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Aaronaught    15 年前

    可以 把手。避免在每个查询中执行此操作的一种方法是添加一个定义为 CAST(GeographyColumn AS varbinary(max))

    一旦你有了 byte[] 数据时,可以编写一个简短的实用程序方法将其转换为实际值 Microsoft.SqlServer.Types.SqlGeography 使用 MemoryStream IBinarySerialize Read / Write 方法。

    您将无法以这种方式查询列;但是,您可以使用 Linq Dynamic Query Library

    更新:我找到了一个稍微干净一点的解决方案 here . 可以这样使用设计器;只需添加 SqlGeography STGeomFromWKB 方法 SqlBytes

        2
  •  1
  •   Matt Kocaj    15 年前

    Looks like 您必须自己手动将其映射/解析为您自己的POCO类型。