发布到服务器时 DbGeography 不起作用
DbGeography does not work when published to a server
以下代码在调试时可以在我的本地计算机上运行,但在发布到服务器时会抛出错误。
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 内部服务器错误。发生错误”。
注意:这在我的本地机器上运行完美。
哇,这个 answer 终于奏效了。
注意:我必须从
中包含 Microsoft.SqlServer.Types.dll
~/packages/Microsoft.SqlServer.Types.14.0.1016.290\lib\net40 也在 ~/bin 文件夹中
以下代码在调试时可以在我的本地计算机上运行,但在发布到服务器时会抛出错误。
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 内部服务器错误。发生错误”。
注意:这在我的本地机器上运行完美。
哇,这个 answer 终于奏效了。
注意:我必须从
中包含 Microsoft.SqlServer.Types.dll~/packages/Microsoft.SqlServer.Types.14.0.1016.290\lib\net40 也在 ~/bin 文件夹中