.NET等效的SQL Server STDistance

nfp*_*lee 4 .net c# sql-server sqlgeography geographic-distance

我可以使用以下SQL来计算固定位置与数据库中场地的位置之间的距离.

SELECT Location.STDistance(geography::Point(51, -2, 4326)) * 0.00062137119 FROM Venues
Run Code Online (Sandbox Code Playgroud)

请注意,返回的距离以英里为单位,位置字段是地理类型.

我想知道在.NET中它的等价物会返回相同的值.此方法将具有以下签名:

public static double Distance(location1Latitude, location1Longitude, location2Latitude, location2Longitude) {
    return ...;
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以在.NET中调用数据库方法,但我不希望这样做.我希望有一个计算距离的公式.谢谢

All*_*nek 6

我相信你可以简单地添加Microsoft.SqlServer.Types.dll作为参考,然后SqlGeometry像任何其他.NET类型一样使用类型,包括调用STDistance方法.