Entity Framework Июнь 2011 CTP и SQL Server 2012 - PullRequest
2 голосов
/ 31 марта 2012

У меня есть определение пространственной модели, которая раньше работала с SQL Server 2008, но больше не работала с 2012.

Я не знаю почему, но я не могу заставить его работать ...

model.Location = DbGeography.Parse("POINT(" + model.Latitude + " " + model.Longitude + ")");

Я получаю это исключение:

System.Reflection.TargetInvocationException не было обработано кодом пользователя
HResult = -2146232828
Сообщение = Исключение было сгенерировано целью вызова.
Источник = mscorlib
StackTrace:
at System.RuntimeMethodHandle.InvokeMethod (цель объекта, аргументы объекта [], сигнатура сигнатуры, логический конструктор)
в System.Reflection.RuntimeMethodInfo.Invoke (Object obj, BindingFlags invokeAttr, Binder binder, Object [] параметры, КультураИнфо-культура, Булевы скипыVisibilityChecks)
в System.Reflection.RuntimeMethodInfo.Invoke (Object obj, BindingFlags invokeAttr, Binder binder, Object [] параметры, КультураИнфо культуры)
в System.Reflection.MethodBase.Invoke (параметры объекта, параметры объекта [])
в System.Data.SqlClient.SqlSpatialServices.GeographyFromText (String geographyText)
в System.Data.Spatial.DbGeography.Parse (String geographyText)
в b.Helpers.Repository.saveFoursquareMarkers (список 1 fs) in C:\Users\Administrator\Documents\Visual Studio 2010\Projects\b\Helpers\Repository.cs:line 182<br> 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<br> at lambda_method(Closure , ControllerBase , Object[] )<br> at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)<br> at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2 параметра)
в System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod (ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 parameters)<br> at System.Web.Mvc.Async.AsyncControllerActionInvoker.InvokeSynchronousActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 параметры)
на System.Web.Mvc.Async.AsyncControllerActionInvoker. <> c_ DisplayClass42.b _41 ()
в System.Web.Mvc.Async.AsyncResultWrapper. <> c_ DisplayClass8 1.<BeginSynchronous>b__7(IAsyncResult _)<br> at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult 1.End ()
в System.Web.Mvc.Async.AsyncResultWrapper.End [TResult] (IAsyncResult asyncResult, тег объекта)
в 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.
Источник = Microsoft.SqlServer.Types
StackTrace:
в Microsoft.SqlServer.Types.OpenGisWktReader.RecognizeDouble ()
в Microsoft.SqlServer.Types.OpenGisWktReader.ParsePointText (Boolean 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)

Любая помощь?

Ответы [ 2 ]

1 голос
/ 11 апреля 2012

Это было действительно непонятно с этой ошибкой, но проблема заключалась в локализации моего компьютера.

Она ожидала точку (.), А не кома (,) в качестве моего десятичного символа.Я только что установил его из Пуск> Панель управления> Регион и язык> Дополнительные настройки и вуаля.Сейчас он работает.

Спасибо за помощь.

0 голосов
/ 11 апреля 2012

Удалите CTP и установите .NET Framework 4.5 beta. Если проблема не устранена, обновите тему.

...