2009-04-20 7 views
0

をオブジェクトトラッキング?だから私のモデルの変更については、一度オブジェクトをdbへの提出のためにlinqエンティティにマップすると、すべてのオブジェクト値が最初にマッピングされるのでlinqによってdbにサブミットされます。あるいは、ここで追跡しているオブジェクトはまだ利用されていますか?マッピングLINQのエンティティとドメインオブジェクトと私は今、私のドメインオブジェクトを保存するときに変更を追跡することができませんLINQのエンティティに私のドメインオブジェクトをマップする場合

答えて

1

は、あなたが使用しているO/Rマッパーに依存します。あなたは、エンティティ内の追跡変更を行うと、以前デシベル(そう、それは新しいものではないのです知っている)からフェッチされたエンティティを再接続したときに、したがって、それはあなたからの助けを必要としないエンティティフレームワークに言及しています。

+0

LINQ to SQLはトラッキングしています。しかし、ドメインをエンティティに戻してマップすると、たとえそうでなくてもすべてが変更されたとみなされます。エンティティに実際の変更を通知したり、その逆を通知する方法はありますか? – zsharp

+0

以下の回答を参照してください、David –

1

はここで多階層の環境(ドメインマッピングのシナリオに似問題)でCRUD操作に関するarticle from microsoftです。

はアップデートをチェックアウト - 自分で変更追跡を行う方法のための完全なエンティティと。

エンティティを変更しないで添付し、次にKeep Current Valuesという.Refresh()を使用して元のものを置き換える方法があります。これにより、データベースの往復を犠牲にして、Insert/Update/Do Nothingを適切に行うことができます。

関連する問題