我目前正在开发一个应用程序,该应用程序将根据距离检索其他用户的位置。
我有一个数据库,以纬度和经度存储所有用户位置信息。
由于这两对经纬度之间距离的计算相当复杂,所以我需要一个函数来处理它。
from a in db.Location.Where(a => (calDistance(lat, longi, Double.Parse(a.latitude), Double.Parse(a.longitude)))<Math.Abs(distance) )) {...}
但是,我收到以下错误:LINQ to Entities 无法识别该方法,并且该方法无法转换为存储表达式。
我不知道如何将其翻译成存储表达式,而且计算也需要数学库。
有什么方法可以让 LINQ 表达式调用我自己的函数吗?
也许还有其他方法可以实现我的目标,有人可以帮忙吗?
LinqToEntities 不允许您调用函数,它甚至不允许 ToString()
这不是 Linq 的东西,而是 LinqToEntities 限制
您可以将代码作为存储过程或函数放入数据库中,并使用 ExecuteStoreQuery 调用它
看这里Entity Framework Code First 是否支持存储过程?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)