私はsqlgeographyを使用するエンティティ/テーブルを持っています。エンティティの部分クラスのプロパティ
EF 4.Xは空間型をサポートしていないため、代わりにフィールドのバイトを前後に送信しています。
私は、データベース側に変換を処理するprocsとコード側のプロパティを格納しています。
コードにプロパティを追加するには、部分クラスを使用しました。
これらのプロパティの1つは、取得と設定を処理するためにbyte []プロパティを単にラップするSqlGeographyのプロパティです。
このプロパティは、NotMappedAttributeを使用してEFから非表示にします。
もう1つは、バイト[]自体を公開するプロパティで、EdmScalarPropertyAttributeおよびDataMemberAttributeで飾られています。
次に、EFモデルデザイナー(* .edmx)にアクセスして、エンティティモデルをInsert/Update/Deleteストアドプロシージャにポイントします。
保存されたプロクシを正しく見つけ、(適切な場合)VARBINARYパラメータを取ることを認識します。
また、エンティティクラスのプロパティをそのパラメータにマッピングするプロパティを選択できるドロップダウンもあります。
ただし、このドロップダウンでは、いずれのプロパティも表示されません。私はSqlGeographyプロパティを気にしません。それはEFから隠されているためですが、データがどこから来るのかは、byte []プロパティで指摘できることが不可欠です。
私は非常にデータベースのトリガーやラッパークラスとaddiitonalフィールドを避けて、これを働かせることを避けたいと思います。
手作業で.edmxファイルを編集して、byte []プロパティを組み込もうとしましたが、マップされていません。
誰でも私にこれを動作させる方法をいくつか洞察できますか?または、最終結果を得る別の方法は?