-2

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

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

但是,在我用 Visual C# 编写的 web 服务中,我不能写这样的东西:

从 db.Location.Where(a => distanceBetweenTwoLocations(givenLat, givenLong, a.lat, a.longi)<500) 中选择新的 {...}

因为 linq 不会让我调用自己的函数。谁能建议一些方法来实现我的目标?为简单起见,我想找到我周围 500m 的其他用户。我的数据库中有所有用户位置的纬度和经度。

4

2 回答 2

1

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

(使用距离函数)

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

然后在你的 c# 中调用它们

于 2012-03-20T15:45:18.603 回答
0

已经有答案了,虽然它是以英里(1609.344 米)而不是 500 为单位,但使用的计算可能适合您的账单。它使用的是 SQL,而不是 LINQ,但您可以轻松地将其转换为 LINQ 表达式,特别是如果您有LINQPad 之类的工具。

于 2012-03-20T15:44:39.740 回答