エンティティ モデルを構築しました。私のビジネス オブジェクトの 1 つは、それを Store と呼びましょう。空間データ型があります。非常にすぐに、空間フィールドが EF4 経由でマップされていないことがわかりました。ただし、次のようなクエリを定義するxml宣言を編集することで、私は苦労しました。
<EntitySet Name="Stores" EntityType="Eltrun.OnShelfAuditModel.Store.Stores">
<DefiningQuery>
SELECT [rowId], [storeName], [location].STAsText() as location FROM Stores
</DefiningQuery>
</EntitySet>
この時点で、このような部分クラスを介して Store エンティティをカスタマイズすることにしました。これは、変換を行い、SQLGeography データを格納したままにして、クライアントで double[] だけを返すためです (SqlGeography も Location (Bingデータ・タイプ)。
public partial class Store
{
public double[] StoreLocation
{
get
{
SqlGeography geoLocation = SqlGeography.
STPointFromText(new SqlChars(this.location.ToCharArray()), 4326);
return new double[]{
(double)geoLocation.Lat,
(double)geoLocation.Long};
}
}
}
クライアント プロジェクトで、小さなカスタマイズの Store データ型を認識させるにはどうすればよいですか? ありがとうございました!