我有一個數據庫第一實體框架5數據訪問層映射到一個包含稱爲CenterCoordinate的SQL幾何類型字段的表。由此產生的實體包含:如何控制JSON.NET序列化的System.Data.Spatial.DbGeometry
public System.Data.Spatial.DbGeometry CenterCoordinate {get;組; }
我的客戶端JavaScript請求API並只接受JSON。然後,我使用Asp.net Web API使用默認格式化程序(JSON.NET)來提供此服務。在API控制器中,該字段有一長串屬性,包括XCoordinate和YCoordinate。
在客戶端的JSON只包含此:
幾何:對象 CoordinateSystemId:3498 WellKnownBinary:空 WellKnownText: 「POINT(6438089.715 1801515.828)」
我真的不希望有解析出WellKnownText以獲得X和Y的值。
所以問題是如何控制System.Data.Spatial類型的序列化/反序列化到/來自JSON,使我得到更多的東西有用? JSON.net格式化程序如何知道要包含/排除什麼?
注意:我真的不想裝飾具有屬性的實體,因爲每次從數據庫重新生成模型時都會丟失這些實體(我不知道爲什麼我們無法通過VS2012向模型字段添加屬性,它在再生之後記住它們)。那麼這可以與部分類或重寫格式化?
謝謝,馬特
感謝您的保證。我可能會轉移到DTO的,甚至轉儲實體框架... – MattPil29 2013-06-13 19:44:32