【发布时间】:2016-08-10 07:35:38
【问题描述】:
我安装了 Nuget Microsoft.SqlServer.Types 并且有一个版本的 DLL 问题。
我已阅读自述文件并在 global.asax (Webform web app) 中添加了这一行
protected void Application_Start(object sender, EventArgs e)
{
SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));
}
System.Data.DataSetExtensions.dll 中出现“System.InvalidCastException”类型的异常,但未在用户代码中处理
附加信息:[A]Microsoft.SqlServer.Types.SqlGeography 看一下 geconverteerd naar [B]Microsoft.SqlServer.Types.SqlGeography。类型 A 是 afkomstig uit Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 in de context Default op locatie C:\WINDOWS\assembly\GAC_MSIL\Microsoft.SqlServer.Types\10.0.0.0__89845dcd8080cc91\ Microsoft.SqlServer.Types.dll。类型 B 是 afkomstig uit Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 in de context Default op locatie C:\WINDOWS\assembly\GAC_MSIL\Microsoft.SqlServer.Types\11.0.0.0__89845dcd8080cc91\ Microsoft.SqlServer.Types.dll。
在这一行失败了:
var bla = myDataTable.AsEnumerable().Select(x => new
{
Loc = x.Field<Microsoft.SqlServer.Types.SqlGeography>("theLocation") // breaks
}).ToList();
theLocation 在我的 Sql Server 2008 中属于数据类型 geography,因此很遗憾我没有 2016 FOR JSON PATH 选项。
ps。一些背景信息:我安装了 nuget GeoJSON.Net 和 GeoJSON.Net.Contrib.MsSqlSpatial 来获取 geojson 的地理数据类型行。还是我应该在我的 sql 中添加 .tostring 并将其解析为 geojson 点?
【问题讨论】:
标签: c# dll gac sqlgeography