实体框架空间聚合函数

时间:2015-05-07 11:58:50

标签: c# sql-server entity-framework spatial

Sql Server具有有用的空间聚合函数,其描述为here
只是想知道它们是否可以通过Entity Framework API获得? 例如,我可以在Entity Framework LINQ查询中使用Envelope Aggregate吗?在Entity Framework 6中有一个类调用SqlSpatialFunctions提供了一些SQL Server空间函数,但我找不到EnvelopeAggregate函数。
实体框架是否提供任何等效的API或我需要使用原始TSQL查询>

1 个答案:

答案 0 :(得分:0)

我无法找到基于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();