エンティティフレームワークでマージします
-
27-10-2019 - |
質問
電話する方法はありますか T-SQLのマージ .NET Entity Framework 4からのコマンド?
解決
いいえ、そのような組み込み機能はありません - 独自の機能を構築する必要があります。非常に一般的なのは、たとえば次のようなアプローチです。
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です。なぜなら、実際の値は節約中に割り当てられるためです。
所属していません StackOverflow