Lad*_*nka 11

没有没有这样的内置功能 - 你必须建立自己的功能.非常常见的是例如:

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
}
Run Code Online (Sandbox Code Playgroud)

这是使用Id在数据库(IDENTITY)中自动生成的分离实体的示例.新实体的默认ID始终为0,因为在保存更改期间将分配实际值.

  • 但是,如果您还不知道数据库中是否存在该对象,该怎么办?`MERGE`语句正是用于确定对象是否存在,以及根据需要更新或插入*. (5认同)
  • 你错过了删除部分。 (2认同)