我有一个空间模型定义,它曾经用于SQL Server 2008,但不再用于2012.
我不知道为什么,但我不能让它发挥作用......
model.Location = DbGeography.Parse("POINT(" + model.Latitude + " " + model.Longitude + ")");
我得到了这个例外:
System.Reflection.TargetInvocationException未被用户代码
处理 的HResult = -2146232828
Message =调用目标抛出了异常 来源= mscorlib程序
堆栈跟踪:
at System.RuntimeMethodHandle.InvokeMethod(Object target,Object [] arguments,Signature sig,Boolean constructor)
在System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数, CultureInfo culture,Boolean skipVisibilityChecks)
在System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数, 文化信息文化)
在System.Reflection.MethodBase.Invoke(Object obj,Object [] parameters)
在System.Data.SqlClient.SqlSpatialServices.GeographyFromText(String geographyText)
在System.Data.Spatial.DbGeography.Parse(String geographyText)
at b.Helpers.Repository.saveFoursquareMarkers(List1 fs) in C:\Users\Administrator\Documents\Visual Studio 2010\Projects\b\Helpers\Repository.cs:line 182
2参数)
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, IDictionary
在System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext,ActionDescriptor actionDescriptor,IDictionary2 parameters)
2 参数)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.InvokeSynchronousActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
在System.Web.Mvc.Async.AsyncControllerActionInvoker。<> c_ DisplayClass42.b _41()
在System.Web.Mvc.Async.AsyncResultWrapper。&lt;&gt; c_ DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _)
1.End()
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
在System.Web.Mvc.Async.AsyncResultWrapper.End [TResult](IAsyncResult) asyncResult,Object tag)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult) asyncResult)
在System.Web.Mvc.Async.AsyncControllerActionInvoker。&lt;&gt; c _DisplayClass37。&lt;&gt; c_ DisplayClass39.b _33()
在System.Web.Mvc.Async.AsyncControllerActionInvoker。&lt;&gt; c_ DisplayClass4f.b _49()InnerException:System.FormatException
的HResult = -2146233033
消息= 24141:输入的位置21处预期有一个数字。输入有,905651030368 来源= Microsoft.SqlServer.Types
堆栈跟踪:
在Microsoft.SqlServer.Types.OpenGisWktReader.RecognizeDouble()
在Microsoft.SqlServer.Types.OpenGisWktReader.ParsePointText(布尔值 parseParentheses)
在Microsoft.SqlServer.Types.OpenGisWktReader.ParseTaggedText(OpenGisType) 型)
在Microsoft.SqlServer.Types.OpenGisWktReader.Read(OpenGisType类型, Int32 srid)
在Microsoft.SqlServer.Types.SqlGeography.GeographyFromText(OpenGisType type,SqlChars taggedText,Int32 srid)
在Microsoft.SqlServer.Types.SqlGeography.STGeomFromText(SqlChars geometryTaggedText,Int32 srid)
在Microsoft.SqlServer.Types.SqlGeography.Parse(SqlString s)
任何帮助?
答案 0 :(得分:1)
这个错误确实无法理解,但问题是我的电脑本地化。
期待一个点(。)而不是昏迷(,)作为我的小数符号。我只是从开始&gt;控制面板&gt;区域和语言&gt;其他设置和瞧。它现在正在运作。
感谢您的帮助。
答案 1 :(得分:0)
取消安装CTP并安装.NET Framework 4.5 beta。如果您仍然有问题更新线程。