【问题标题】:Entity Framework Spatial Aggregates Functions实体框架空间聚合函数
【发布时间】:2015-07-17 23:42:45
【问题描述】:
Sql Server 具有有用的空间聚合函数,在here 中进行了描述。
只是想知道它们是否可以通过 Entity Framework API 获得?
例如,我可以在 Entity Framework LINQ 查询中使用 Envelope Aggregate 吗?
Entity Framework 6 中有一个类调用 SqlSpatialFunctions,它提供了一些 SQL Server 空间函数,但我找不到 EnvelopeAggregate 函数。
Entity Framework 是否提供任何等效的 API 或者我需要使用原始 TSQL 查询>
【问题讨论】:
标签:
c#
sql-server
entity-framework
spatial
【解决方案1】:
我无法找到基于 LINQ 的解决方案,但作为参考,这里有一个在 Entity Framework 6 中使用原始 SQL 查询的示例:
// Need to use SQL since EF doesn't support spatial aggregates
var querySql = @"SELECT
Geometry::UnionAggregate([SpatialBounds])
FROM [dbo].[LandgateLocation]
WHERE [Distict] = (@p0)";
var polygon = await dbContext.Database.SqlQuery<DbGeometry>(querySql, request.District).SingleAsync();