我有一个空间模型定义,它曾经与 SQL Server 2008 一起使用,但不再与 2012 一起使用。
我不知道为什么,但我无法让它工作......
model.Location = DbGeography.Parse("POINT(" + model.Latitude + " " + model.Longitude + ")");
我得到了这个例外:
System.Reflection.TargetInvocationException 未被用户代码处理
HResult=-2146232828
Message=Exception 已被调用目标抛出。
Source=mscorlib
StackTrace:
在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo文化,布尔 skipVisibilityChecks)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] 参数, CultureInfo 文化)
在 System.Reflection.MethodBase.Invoke(Object obj, Object[] 参数)
在 System.Data.SqlClient.SqlSpatialServices.GeographyFromText(String geographyText)
在 System.Data.Spatial.DbGeography.Parse(String geographyText)
在 b.Helpers.Repository.saveFoursquareMarkers(List 2 参数) 在 System.Web.Mvc.ControllerActionInvoker。 InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_ DisplayClass42.b _41() at System.Web.Mvc.Async.AsyncResultWrapper.<>c_ DisplayClass8 1.End () 在 System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult asyncResult, 对象标记)1 fs) in C:\Users\Administrator\Documents\Visual Studio 2010\Projects\b\Helpers\Repository.cs:line 182
at b.Controllers.KayController.GetMarkers(String lat, String lng, String type, Double dist, String today, String google) in C:\Users\Administrator\Documents\Visual Studio 2010\Projects\b\Controllers\KayController.cs:line 29
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.InvokeSynchronousActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary1.<BeginSynchronous>b__7(IAsyncResult _)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c _DisplayClass37.<> c_DisplayClass39.b _33()
在 System.Web.Mvc.Async。 AsyncControllerActionInvoker.<>c_ DisplayClass4f.b _49()InnerException:System.FormatException
HResult=-2146233033
消息=24141:输入的位置 21 处应有一个数字。输入有 ,905651030368。
Source=Microsoft.SqlServer.Types
StackTrace:
在 Microsoft.SqlServer.Types.OpenGisWktReader.RecognizeDouble()
在 Microsoft.SqlServer.Types.OpenGisWktReader.ParsePointText(Boolean parseParentheses)
在 Microsoft.SqlServer.Types.OpenGisWktReader.ParseTaggedText(OpenGisType type)
在Microsoft.SqlServer.Types.OpenGisWktReader.Read(OpenGisType 类型,Int32 srid)
在 Microsoft.SqlServer.Types.SqlGeography.GeographyFromText(OpenGisType 类型,SqlChars taggedText,Int32 srid)
在 Microsoft.SqlServer.Types.SqlGeography.STGeomFromText(SqlChars geometryTaggedText, Int32 srid)
在 Microsoft.SqlServer.Types.SqlGeography.Parse(SqlString s)
有什么帮助吗?