我已经按照指示在这里使用SqlGeography类型的ServiceStack OrmLite v 4.0.56: https://github.com/ServiceStack/ServiceStack.OrmLite/wiki/SQL-Server-TypesServiceStack OrmLite不检索SqlGeography场
SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
SqlServerConverters.Configure(SqlServer2012Dialect.Provider);
(而不是Web应用程序)
这里是我的DataModel的类:
[DataContract]
[Schema("dbo")]
public class BusinessEntity
{
[DataMember, PrimaryKey, AutoIncrement]
public Int16 BusinessEntityId { get; set; }
...
[DataMember]
public SqlGeography LatLong { get; set; }
}
当我检索使用OrmLite这些记录,所有的LatLong为null,但有数据数据库:
我的测试是简单地检索所有记录:
return Db.Select<DataModel.dbo.BusinessEntity>();
它看起来像安装的NuGet包时发生了错误,但是,没有运行时错误(我一直安装nuget包时出现此错误):
试图收集软件包依赖关系信息 'ServiceStack.O rmLite.SqlServer.Converters.4.0.56'相对于 项目'Services \ Web \ SO.Services.Data.Tests',目标为 '.NETFramework,Version = v4.6.1'尝试解析依赖项 包'ServiceStack .OrmLite.SqlServer.Converters.4.0.56'与 DependencyBehavior'Lowest'解决安装包的操作 'ServiceStack.OrmLite.SqlServer.Converters.4.0.56'解决的操作为 安装包'ServiceStack.OrmLite.SqlServer.Converters .4.0.56' 包'Microsoft.SqlServer.Types.11.0.2'已存在于文件夹 'C:\ Users \ cklepeis \ documents \ visual studio 2015 \ Projects \ SO \ packages' 已添加软件包'Microsoft.SqlServer .Types.11.0.2'改为'packages.config' 执行脚本文件'C:\ Users \ cklepeis \ documents \ visual studio 2015 \ Projects \ SO \ packages \ Microsoft.SqlServer.Types.11.0.2 \ tools \ install.ps1'... Where-Object:无法绑定参数'FilterScript'。无法将 类型为“System.String”的“Name”值转换为键入“S ystem.Management.Automation.ScriptBlock”。在 C:\ Users \ cklepeis \ documents \ visual studio 2015 \ Projects \ SO \ packages \ Microsoft.SqlServer.Types.11.0.2 \ tools \ install.p s1:11 char:50 + $ folderx86 = $ sqlServerTypes.ProjectItems |其中< < < <名称当量的 “x86” + CategoryInfo:InvalidArgument:(:) [凡-对象],ParameterBindingException + FullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.WhereObjectCommand 位置对象:无法绑定参数“FilterScript ”。无法将 类型为“System.String”的“Name”值转换为键入“S ystem.Management.Automation.ScriptBlock”。在 C:\ Users \ cklepeis \ documents \ visual studio 2015 \ Projects \ SO \ packages \ Microsoft.SqlServer.Types.11.0.2 \ tools \ install.p s1:17 char:50 + $ folderx64 = $ sqlServerTypes。ProjectItems |其中< < < <名称当量 “64” + CategoryInfo:InvalidArgument:(:) [凡-对象],ParameterBindingException + FullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.WhereObjectCommand 位置对象:无法绑定参数“FilterScript ”。无法将 类型为“System.String”的“Name”值转换为键入“S ystem.Management.Automation.ScriptBlock”。在 C:\ Users \ cklepeis \ documents \ visual studio 2015 \ Projects \ SO \ packages \ Microsoft.SqlServer.Types.11.0.2 \ tools \ install.p s1:23 char:46 + $ cppLinkx86 = $ folderx86.ProjectItems |其中< < < <名称当量 “msvcr100.dll” + CategoryInfo:InvalidArgument:(:) [凡-对象],ParameterBindingException + FullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.WhereObjectCommand 位置对象:无法绑定参数'FilterScript'。无法将 类型为“System.String”的“Name”值转换为键入“S ystem.Management.Automation.ScriptBlock”。在 C:\ Users \ cklepeis \ documents \ visual studio 2015 \ Projects \ SO \ packages \ Microsoft.SqlServer.Types.11.0.2 \ tools \ install.p s1:30 char:46 + $ sqlLinkx86 = $ folderx86.ProjectItems |其中< < < <名称当量 “SqlServerSpatial110.dll” + CategoryInfo:InvalidArgument:(:) [凡-对象],ParameterBindingException + FullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.WhereObjectCommand 位置对象:无法绑定参数'FilterScript'。无法将 类型为“System.String”的“Name”值转换为键入“S ystem.Management.Automation.ScriptBlock”。在 C:\ Users \ cklepeis \ documents \ visual studio 2015 \ Projects \ SO \ packages \ Microsoft.SqlServer.Types.11.0.2 \ tools \ install.p s1:37 char:46 + $ cppLinkx64 = $ folderx64.ProjectItems |其中< < < <名称当量 “msvcr100.dll” + CategoryInfo:InvalidArgument:(:) [凡-对象],ParameterBindingException + FullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.WhereObjectCommand 位置对象:无法绑定参数'FilterScript'。无法将 类型为“System.String”的“Name”值转换为键入“S ystem.Management.Automation.ScriptBlock”。在 C:\ Users \ cklepeis \ documents \ visual studio 2015 \ Projects \ SO \ packages \ Microsoft.SqlServer.Types.11.0.2 \ tools \ install.p s1:44 char:46 + $ sqlLinkx64 = $ folderx64.ProjectItems |其中< < < <名称当量 “SqlServerSpatial110.dll” + CategoryInfo:InvalidArgument:(:) [凡-对象],ParameterBindingException + FullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.WhereObjectCommand
AutoHides:假标题: Microsoft.SqlServer.Types收藏: {Microsoft.VisualStudio.Platform.WindowManagement.DTE.WindowBase, Microsoft.VisualStudio.Platfo rm.WindowManagement.DTE.WindowBase,Microsoft.VisualStudio.Platform.WindowManagement.DTE.Window Base,Microsoft.VisualStudio.Platform.Wi ndowManagement.DTE.WindowBase ...} CommandBars:{URL工具栏,F1消歧工具栏} ContextAttributes:System。__ComObject DTE: 系统.__ ComObject文件:HWND: 6425562高度:1671 IsFloating:假 类:工具左:1674可连接
:假LinkedWindowFrame: Microsoft.VisualStudio.Platform.WindowManagement.DTE.WindowBase LinkedWindows:对象:系统.__ ComObject ObjectKind:{E8B06F52-6D01-11D2-AA7D-00C04F990343}项目 :项目项:选择:顶级
:283类型:vsWindowTypeToolWindow可见
:真实宽度:1785的WindowState: vsWindowStateMaximize HasBeenDeleted:假事件
:Microsoft.VisualStudio.Platform.WindowManagement.DTE.WindowEvents VisibilityEvents: Microsoft.VisualStudio.Platform.WindowManagement.DTE.WindowVisibilityEvents 的Rect:1674.0625,283.020833333333,1785,1671 OutstandingEventCount:0安装成功' Microsoft.SqlServer.Types 11.0.2'至 SO.Services.Data.Tests包 'ServiceStack.OrmLite.SqlServer.Converters.4.0.56'已存在于 文件夹'C:\ Users \ cklepeis \ documents \ visual studio 2015 \ Projects \ SO \ packages'添加包 'ServiceStack.OrmLite.SqlServer.Converters.4.0.56'至 'packages.config'成功安装 'ServiceStack.OrmLite.SqlServer.Converters 4.0.56'至 SO.Services.Data.Tests ==========已完成======== ==
添加 “类型系统版本= SQL Server 2012的” 连接字符串并获得成功。 –