12

有没有办法从 .NET Entity framework 4调用T-Sql 的 MERGE命令?

4

1 回答 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 回答