1

そうです...すべてのEntityFrameworkエキスパートに電話をかけます...

データベースにBobというテーブルがあり、EFモデルにはこれの正確なマッピング/定義が含まれています。また、エンティティモデルにマップされているJimというテーブルもあります。ボブは複数のジムを持つことができ、この関係は本来あるべき外部キー制約によって強制されます。したがって、ここでの関係はバラ色です。ただし、EFモデルにJimSnapshotという独自のエンティティも作成しました。このエンティティは、Jimエンティティとまったく同じように見えます。ボブが作成されると、その時点でジムのスナップショットが取得され、ボブのJimSnapshotXMLという列に非常にフラットなXMLとして格納されます。

私がやりたいのは、JimSnapshotエンティティをBobに関連付けて、実際にJimSnapshotXMLプロパティをJimSnapshotエンティティの入力バージョンに置き換えることです。または、少なくとも、BobからJimSnapshotエンティティにアクセスし、JimSnapshotXML属性を非表示にします。

これは可能ですか?どうすればいいですか?これは意味がありますか?

基本的に、私は次のように上記にアクセスできるようにすることを目指しています(C#)。

var snapshot = Bob.JimSnapshot;
var jim = Bob.Jim;
4

1 に答える 1

0

getterでJimSnapshotのインスタンスを作成し、setterで正しいXMLを書き込むエンティティコードを拡張する部分クラスでラッパープロパティを作成してみてください。
ただし、変更の追跡には問題があります。このプロパティを明示的に割り当てるか、SavingChangesイベントを処理して変更をXMLに保存する必要があります。

于 2010-04-30T16:09:11.193 に答える