0

Unit of Workを使用してEFエンティティを取得し、いくつかのUIコントロールにバインドしています

public RowItem MyItem { get; set; }
using ( var ctx = new MyContext() )
    MyItem = ctx.MyEntity.Single( x =>  /// parms };


at a later time, the updates are saved on some user action

質問-既存のエンティティMyItemを使用して、次のようにシンプルに保つにはどうすればよいですか?

using ( var ctx = new MyContext() )
       MyItem.UpdateUsingContext(ctx);
4

2 に答える 2

3

さて、EFにオブジェクトを保存するのは簡単です:

context.SaveChanges();

これにより、更新/新規/削除されたすべてのオブジェクトがに保存されますcontext

この特定のインスタンスでオブジェクトが作成されていない場合は、context保存する前にオブジェクトをアタッチする必要があります。

context.Attach(entity);
context.SaveChange();
于 2012-04-24T07:55:54.210 に答える
0

新しいデータコンテキストを作成する必要がある場合は、最初に次のようなオブジェクトをアタッチする必要があります。

using ( var ctx = new MyContext() )
{
   ctx.Attach(entity);
   ctx.SaveChanges();
}

データベースからエンティティをフェッチするために使用されたのと同じコンテキストを再利用する場合は、単にsavechangesを呼び出すことができます。

于 2012-04-25T09:11:42.697 に答える