エンティティ オブジェクトをデータ コンテキストにアタッチする必要があります。
また、AttachUpdeted メソッドを使用して、データ コンテキストの部分クラスを拡張する必要があります。オブジェクトをデータ コンテキストにアタッチするときと同様に、オブジェクトは更新が行われたことを知りません。以下のコードは、すべてのプロパティが更新され、データベースに書き込む必要があることをデータ コンテキストに通知します。
public static void Save(EntityObject entity)
{
using(MyContext ctx = new MyContext)
{
ctx.AttachUpdated(entity);
ctx.SaveChanges();
}
}
public static void AttachUpdated(this ObjectContext obj, EntityObject objectDetached)
{
if (objectDetached.EntityState == EntityState.Detached)
{
object original = null;
if (obj.TryGetObjectByKey(objectDetached.EntityKey, out original))
obj.ApplyPropertyChanges(objectDetached.EntityKey.EntitySetName, objectDetached);
else
throw new ObjectNotFoundException();
}
}
記事1
記事2