3

可能重复:
IDbSet.Add 和 DbEntityEntry.State = EntityState.Added 有什么区别?

DbSet.Add(entity)entity.State = EntityState.Added 有什么区别?我使用了一些示例将实体添加到 DbContext,但不确定哪个是首选。

我看到一些测试“分离”条件并决定在他们的存储库实现中使用哪个。

    public void Add(T entity)
    {
        var entry = DbContext.Entry(entity);
        if (entry.State == EntityState.Detached)
        {
            DbSet.Add(entity);
        }
        else
        {
            entry.State = EntityState.Added;
        }
    }

有人知道吗?谢谢!

4

1 回答 1

2

这两个选项之间没有任何区别,因为它们都在调用相同的方法(即 ObjectContext 上的 AddObject)。

于 2012-11-25T07:06:26.730 回答