可能重复:
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;
}
}
有人有想法吗?谢谢!
答案 0 :(得分:2)
这两个选项之间没有任何区别,因为它们都在调用相同的方法(即ObjectContext上的AddObject)。