尝试使用NetTopologySuite时EF Core 2.2.6查询不起作用

时间:2019-11-20 11:08:52

标签: entity-framework-core nettopologysuite

我正在尝试将NetTopologySuite与EF Core 2.2.6结合使用来进行地理搜索。

我已经成功地在模型中添加了位置Point,并且EF Core 可以读取和写入此属性。

但是,当我尝试将此谓词添加到查询中时,我看到了两个问题:

query = query.Where(x => x.Foo.Bar.Location.Distance(new Point(longitude, latitude) { SRID = 4326 }) <= distance);
  1. 执行查询时引发NullReferenceException异常。
   at lambda_method(Closure , TransparentIdentifier`2 )
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.<_TrackEntities>d__17`2.MoveNext()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
  1. 如果我查看SQL Profiler中执行的SQL,则不会添加WHERE子句。

我已经检查过的东西:

  1. 我的UseNetTopologySuite()覆盖了OnConfiguring
  2. 我正在使用NetTopologySuite.Core 1.15.3版,这是EF Core 2.2.6的合适版本。

0 个答案:

没有答案