我正在生成实体 SQL 以在我的应用程序中提供动态查询支持。然而,我一直无法找到如何使用 Entity Framework 5 在 Entity SQL 中指定空间条件。
使用 Linq to Entities 对具有包含空间字段的实体的模型进行查询,例如:
var a = new Model1Container();
var b = from c in a.Entity1
where c.Loc.Intersects(System.Data.Spatial.DbGeography.FromText("POINT (43 -73)"))
select c;
生成 SQL Server 2012 所期望的 SQL,例如:
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[Loc] AS [Loc]
FROM [dbo].[Entity1] AS [Extent1]
WHERE ([Extent1].[Loc].STIntersects(geography::Parse(N'POINT (43 -73)'))) = 1
如何使用 ESQL 重写上述 Linq to Entities 查询?或者这是不可能的?