实体框架空间聚合函数
Posted
技术标签:
【中文标题】实体框架空间聚合函数【英文标题】: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 查询>
【问题讨论】:
【参考方案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();
【讨论】:
以上是关于实体框架空间聚合函数的主要内容,如果未能解决你的问题,请参考以下文章
Hibernate JPQL/HQL:聚合函数的错误显示错误的表/实体连接两次(仅使用 HSQLDB)的结果?