2011-06-21 15 views
1

LINQ to SQLをリポジトリパターンとDTOとともに使用しています。私の質問です:エンティティをデータベースに保存するとき、Save()メソッドはDTOを引数として受け取ります。新しいものを保存することは非常に単純ですが、私は新しいエンティティをインスタンス化し、DTOから値を取り込み、データコンテキストでSubmitChanges()を呼び出します。LINQ to SQLリポジトリパターン:エンティティの保存

しかし、既存のエンティティを編集するとどうなりますか?元の値をロードする最も良い方法は何ですか?私の本能は、新しいエンティティを作成し、DTOから値をロードしてからdatacontextにAttach()しますが、元の値を考慮していないので変更トラッキングを失いました。

どうやってこれを処理しますか?

答えて

1

私はあなたのエンティティと同じではないと仮定しているDTOを使用しているため、一般的にはコンテキストからエンティティを取得し、エンティティの値をDTOに設定/比較します。私の仮定が間違っている場合は


は、一般の人々はちょうどコンテキストにエンティティを添付し、変更を保存します。