漫长的挣扎与此...
基本上我有一个带有DbGeography属性的模型优先EF5对象.我想应用一个JsonConverter让它作为简单的纬度/经度值往返.我正在使用WebAPI.
寻找JSON输出和输入如下:
{
"location":
{
"geopoint":
{
"latitude":40.770712,
"longitude":-73.962011
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的类定义和JsonConverter:
[MetadataType(typeof(QueryLocationMetadata))]
partial class Location
{
}
public class QueryLocationMetadata
{
[JsonConverter(typeof(DbGeographyConverter))]
public virtual DbGeography GeoPoint { get; set; }
}
public class DbGeographyConverter : JsonConverter
{
private const string LATITUDE_KEY = "latitude";
private const string LONGITUDE_KEY = "longitude";
public override bool CanConvert(Type objectType)
{
return objectType.Equals(typeof(DbGeography));
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader.TokenType == …Run Code Online (Sandbox Code Playgroud) entity-framework spatial json.net asp.net-mvc-4 asp.net-web-api