以前は SQL Server 2008 で動作していた空間モデル定義がありますが、2012 では動作しなくなりました。
理由はわかりませんが、うまくいきません...
model.Location = DbGeography.Parse("POINT(" + model.Latitude + " " + model.Longitude + ")");
この例外が発生しています:
System.Reflection.TargetInvocationException はユーザー コードによって処理されませんでした
HResult=-2146232828
Message=Exception が呼び出しのターゲットによってスローされました。
ソース = mscorlib
StackTrace:
System.RuntimeMethodHandle.InvokeMethod(オブジェクト ターゲット、Object[] 引数、シグネチャ sig、ブール コンストラクター)
で System.Reflection.RuntimeMethodInfo.Invoke(Object obj、BindingFlags invokeAttr、バインダー バインダー、Object[] パラメーター、CultureInfo Culture、Boolean skipVisibilityChecks)
の System.Reflection.RuntimeMethodInfo.Invoke(Object obj、BindingFlags invokeAttr、Binder バインダー、Object[] パラメーター、CultureInfo culture)
の System.Reflection.MethodBase.Invoke(Object obj、Object[] パラメーター)
System.Data.SqlClient.SqlSpatialServices.GeographyFromText (文字列 geographyText)
で System.Data.Spatial.DbGeography.Parse (文字列 geographyText)
で b.Helpers.Repository.saveFoursquareMarkers (リスト2 パラメーター) で System.Web.Mvc.ControllerActionInvoker。 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_ DisplayClass42.b _41() で InvokeActionMethod (ControllerContext controllerContext、ActionDescriptor actionDescriptor、IDictionary 2 パラメーター) System.Web.Mvc.Async.AsyncResultWrapper . < > c_ DisplayClass8で1.End () System.Web.Mvc.Async.AsyncResultWrapper.End[TResult] (IAsyncResult asyncResult、Object タグ) で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
Message=24141: 入力の位置 21 に数値が必要です。入力には、905651030368 があります。
Source=Microsoft.SqlServer.Types
StackTrace:
at Microsoft.SqlServer.Types.OpenGisWktReader.RecognizeDouble()
at Microsoft.SqlServer.Types.OpenGisWktReader.ParsePointText(ブール型パース括弧) at
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) で
助けはありますか?