CenterCoordinate という SQL ジオメトリ タイプ フィールドを含むテーブルにマップされた DB First Entity Framework 5 データ アクセス レイヤーがあります。結果のエンティティには次が含まれます。
public System.Data.Spatial.DbGeometry CenterCoordinate { get; 設定; }
私のクライアント JavaScript は API を要求し、JSON のみを受け入れます。次に、Asp.net Web API を使用して、既定のフォーマッタ (JSON.NET) を使用してこれを提供します。API コントローラでは、フィールドには XCoordinate と YCoordinate を含むプロパティの長いリストがあります。
クライアントでは、JSON にはこれのみが含まれます。
ジオメトリ: オブジェクト CoordinateSystemId: 3498 WellKnownBinary: null WellKnownText: "POINT (6438089.715 1801515.828)"
X と Y の値を取得するために WellKnownText を解析する必要はありません。
問題は、System.Data.Spatial 型の JSON との間のシリアル化/逆シリアル化を制御して、より便利なものを得るにはどうすればよいかということです。JSON.net フォーマッターは、何を含める/除外するかをどのように認識しますか?
注:データベースからモデルを再生成するたびに属性が失われるため、エンティティを属性で装飾したくありません(VS2012を介してモデルフィールドに属性を追加できず、後でそれらを記憶させることができない理由がわかりません)再生)。これは、部分クラスまたはフォーマッタのオーバーライドで可能ですか?
ありがとう、マット