DbSet.Add(实体)和entity.State = EntityState.Added之间的区别

时间:2012-11-25 04:21:23

标签: entity-framework

  

可能重复:
  What is the difference between IDbSet.Add and DbEntityEntry.State = EntityState.Added?

DbSet.Add(entity)entity.State = EntityState.Added之间的区别是什么?我使用两个实例向DbContext添加实体但不确定哪个是首选实例。

我看到一些测试“ Detached ”条件并决定在其存储库实现中使用哪个。

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

有人有想法吗?谢谢!

1 个答案:

答案 0 :(得分:2)

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

相关问题