微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

发布到服务器时 DbGeography 不起作用

如何解决发布到服务器时 DbGeography 不起作用

以下代码在调试时在我的本地机器上工作,但在发布到服务器时抛出错误

public IEnumerable<Restaurant> Nearby(double latitude,double longitude,double distance)
{
    var region = DbGeography.PointFromText(string.Format("POINT({1} {0})",latitude,longitude),4326).Buffer(10000);
    return Find(x => sqlSpatialFunctions.Filter(x.Location,region) ?? false);
}

疯狂搜索后,我从nuget安装了Microsoft.sqlServer.Types。 (版本 14.0.1016.290)

在 ~/bin 文件夹中添加了所需的 dll(由上述包提供)。

在 Global.asax.cs 中添加以下代码

sqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));

代码仍然抛出“500 Internal Server Error。发生错误”。

注意:这在我的本地机器上运行良好。

解决方法

哇,这个 answer 终于奏效了。

注意:我必须包含来自

Microsoft.SqlServer.Types.dll

~/packages/Microsoft.SqlServer.Types.14.0.1016.290\lib\net40 也在 ~/bin 文件夹中

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。