给定一个用户';s的纬度和经度,我想从数据库中检索我周围的其他用户

本文关键字:用户 经度 数据库 其他 周围 检索 纬度 一个 | 更新日期: 2023-09-27 18:28:28

可能重复:
如何在我的android应用程序的可视化C#web服务中调用LINQ中的用户定义函数?

我目前正在安卓系统上开发一个应用程序,该应用程序将利用用户位置。数据库将按纬度和经度保存所有用户位置。我知道如何计算两点之间的距离,这有点复杂。

然而,在我用visual C#编写的Web服务中,我不能写这样的东西:

来自数据库中的。位置。其中(a=>两个位置之间的距离(givenLat,givenLong,a.lat,a.longi)<500)选择新{…}

因为linq不允许我调用自己的函数。有人能提出一些实现我目标的方法吗?为了简单起见,我想找到周围500米的其他用户。在我的数据库中,我有经度和纬度的所有用户位置。

给定一个用户';s的纬度和经度,我想从数据库中检索我周围的其他用户

看看Nerdinner。http://nerddinnerbook.s3.amazonaws.com/Part11.htm

(使用间隔函数)

在数据库中创建相关函数。

然后在c#中调用它们

已经有了答案,虽然是以英里(1609.344米)为单位,而不是以500为单位,但使用的计算可能符合您的要求。它使用的是SQL,而不是LINQ,但您可以很容易地将其转换为LINQ表达式,尤其是如果您有像LINQPad这样的工具。