首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LINQ中的空间数据方法

LINQ中的空间数据方法
EN

Stack Overflow用户
提问于 2014-03-05 06:41:08
回答 2查看 896关注 0票数 2
代码语言:javascript
复制
query = from i in _db.ILV
    join p in _db.PC on
    i.PostCode equals p.PostCode
    where (!string.IsNullOrEmpty(rng)) ? STGeomFromText(i.Point).STDistance(q.Point) <= rng : true

已声明使用System.Spatial。有人能告诉我做这件事的正确方法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-03-05 06:52:05

看起来您正处于数据上下文中。在这种情况下,您应该使用System.Data.Spatial,而不能直接调用该函数。

http://msdn.microsoft.com/en-us/data/hh859721.aspx

有关对实体使用空间几何的其他信息,请参阅http://blogs.msdn.com/b/efdesign/archive/2011/05/04/spatial-types-in-the-entity-framework.aspx

票数 1
EN

Stack Overflow用户

发布于 2018-12-07 20:27:55

现在可以在内存中或使用EF Core2.2并使用Nuget包Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite来实现这一点

代码语言:javascript
复制
using NetTopologySuite.Geometries;
using System.Linq;

var here = new Point(53.791299, -1.547772) { SRID = 104001 };
var places = Data.Places.Where(p => p.Location.Distance(here) < 100);

有关更多信息,请参阅EF Core 2.2 Release注释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22184714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档