Deserializacja DbGeometry za pomocą Newtonsoft.Json

Buduję SPA przy użyciu Angular, Breeze i Web API 2 zgodnie z podejściem przedstawionym przez Johna Papę w jego najnowszym kursie PluralSight.

Wszystko działa dobrze i mogę wyciągać informacje, aktualizować, wstawiać, usuwać z powrotem na serwer. Jednak używam typów przestrzennych, a gdy próbuję zaktualizować obiekt za pomocą typu przestrzennego, otrzymuję następujący błąd

Wyjątek typu „Newtonsoft.Json.JsonSerializationException” wystąpił w pliku Newtonsoft.Json.dll, ale nie został obsłużony w kodzie użytkownika

Dodatkowe informacje: Błąd pobierania wartości z „WellKnownValue” w „System.Data.Entity.Spatial.DbGeometry”.

Wewnętrzny wyjątek zdaje się wskazywać na fakt, że WellKnownValue ma wartość NULL, jednak nie, ponieważ sprawdziłem wysyłanie JSON do serwera, który jest następnie wysyłany do Breeze ContextProvider i zapisywany za pomocą metody SaveChanges.

{
"entities": [
 {
  "TableKey": 2,
  "CaseName": "Mikhail Lermontov",
  "StartDate": "2013-06-11T00:00:00Z",
  "EndDate": null,
  "IsCurrent": true,
  "SRID": 109,
  "Shape": {
    "$id": "2",
    "$type": "System.Data.Entity.Spatial.DbGeometry, EntityFramework",
    "Geometry": {
      "$id": "3",
      "$type": "System.Data.Entity.Spatial.DbGeometryWellKnownValue, EntityFramework",
      "CoordinateSystemId": 2193,
      "WellKnownText": "POLYGON ((1695943 5462665, 1713098 5462665, 1713098 5449659, 1695943 5449659, 1695943 5462665))"
    }
  },
  "SpillLocation": "Marlborough Sounds",
  "Image": "http://www.nzmaritime.co.nz/images/lm5.jpg\r\n",
  "DefaultBaseMapKey": 2,
  "__unmapped": {
    "isPartial": false
  },
  "entityAspect": {
    "entityTypeName": "DatSpillCase:#Osiris.Model",
    "defaultResourceName": "DatSpillCases",
    "entityState": "Modified",
    "originalValuesMap": {
      "CaseName": "Mikhail Lermontov"
    },
    "autoGeneratedKey": {
      "propertyName": "TableKey",
      "autoGeneratedKeyType": "Identity"
    }
  }
}
 ],
  "saveOptions": {}
}

Moje pytanie brzmi: możliwe jest przekształcenie typów DbGeometry w bibliotekę NewtonSoft, a jeśli nie, to jakie sugestie są dostępne, aby to obejść.

questionAnswers(3)

yourAnswerToTheQuestion