可能重复:
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;
}
}
有人知道吗?谢谢!