Entity Frameworkで分離されたエンティティを保存する際の投稿のLOTSを読みました。それらのすべては古いバージョンのEntity Frameworkに適用されるようです。これらは、存在しないように見えるApplyCurrentValuesやChangeObjectStateなどのメソッドを参照します。気まぐれで私はインテリセンスで見つかったと、私はこれは私が舞台裏で起こってものを見るために得ることはありませんので、これを行うには正しい方法で確認する方法を試してみることにした。Entity Framework 6に分離されたエンティティを保存します。
public void SaveOrder(Order order)
{
using (VirtualWebEntities db = new VirtualWebEntities())
{
db.Orders.Attach(order);
db.Entry(order).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
}
}
ですこれは、変更された既存のアイテムを更新する正しい方法ですか?
感謝を。だから私は明確にしたいだけです。どのフィールドが変更されたかをEFに知らせることができる以前のバージョンのように、もはやapplycurrentvaluesの概念はありません。 – KingOfHypocrites
@KingOfHypocritesできます、私は私の答えを編集しました。私は[EF6 documentation](http://msdn.microsoft.com/en-us/data/ee712907)を見てみることをお勧めします。これには多くの良い例と説明があり、非常に簡単な方法で書かれています。 –
リンクありがとうございます。あなたの例の唯一の事は、私は手動で各プロパティをマークする必要があるということです。古いバージョンにはapply valuesメソッドがありました。ここで新しいオブジェクトを取得して古いオブジェクトに適用できます。これにより、変更されたプロパティが自動的にマークされ、保存時に更新する内容がわかります。私はまだ同等のものを探しています。 – KingOfHypocrites