实体框架空间聚合函数

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)的结果?

聚合根和实体框架

存储库模式和聚合根模式和实体框架

(记录贴)Mybatis 数据库中用聚合函数 如何映射及赋值实体类

使用实体框架从聚合根中删除子记录

NS3-对象框架之聚合