質問: 私はいくつかの空間的事例を調理しており、EFは空間的なサポートを持っていますが、Dapperを実行することにしました。私は再びSQLを制御できることを愛しています(Sam&Marcありがとう)。 しかし、私は*DbGeography*クラスをサポートするPOCOを持つことができる必要があります。例えば : ``` public class BuriedTreasure { public int PirateId { get; set; } public DbGeography MarksTheSpot { get; set; } } ``` 私のGoogle fooは私を失望させていました。私が見つけることのできる最も近いものはこの質問ですが、パラメータとして空間的サポートを追加するだけです(そのため、そこには50%です)。 今私が見る限り、私はどちらも私にとって実行可能な解決策ではない次のオプションに限定されています。 1. ダッパーコードをカスタマイズして、SQL Server固有のタイプを理解する 2. 私のPOCOでLONG、LAT、ELEVATION小数点を指定し、ストアドプロシージャにSPATIAL型を作成し、値を取得するための別のプロシージャ(または永続化された計算カラムを使用しますが、ほぼ同じです) 代替案?
回答: 興味のある人は、本質的に私は上に掲示した質問でオプション2に行きました。私は小数にマッピングされた私の空間データを持っています。ストアドプロシージャはいくつかの追加のチェックを行いますので、そこにポイントを作成するのは簡単でした。つまり、次のスニペットです。 ``` Yarrrr = geography::Point(@Latitude, @Longitude, 4326) ``` 本質的に、DbGeographyクラスは不変で、表示に行く... RTFM :) dapperの変更は一切必要ありません!