.NET Entity Framework 4 からT-Sql の MERGEコマンドを呼び出す方法はありますか?
11376 次
1 に答える
12
そのような組み込み機能はありません-独自に構築する必要があります。非常に一般的なのは、たとえば次のようなアプローチです。
public void SaveOrUpdate(MyEntity entity)
{
if (entity.Id == 0)
{
context.MyEntities.AddObject(entity);
}
else
{
context.MyEntities.Attach(entity);
context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
}
// You can call SaveChanges here or you can call it separately after multiple changes
}
これはId
、データベースで自動生成されたデタッチされたエンティティを操作するための例です(IDENTITY
)。変更の保存中に実際の値が割り当てられるため、新しいエンティティのデフォルトIDは常に0です。
于 2011-04-30T14:57:58.607 に答える