2012-11-25 32 views
3

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

什么是VS entity.State = EntityState.AddedDbSet.Add(entity)之间的区别?我使用这两个示例添加一个实体到DbContext,但不确定哪个是首选的。

我看到了一些测试“独立”条件,并决定哪些在他们的仓库实现使用。

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

任何想法?谢谢!

回答

2

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