DbSet.Add(entity)和entity.State = EntityState.Added之间的区别 [英] Difference between DbSet.Add(entity) and entity.State = EntityState.Added
本文介绍了DbSet.Add(entity)和entity.State = EntityState.Added之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可能重复:
IDbSet.Add和DbEntityEntry有什么区别.State = EntityState.Added?
What's the difference between DbSet.Add(entity) vs entity.State = EntityState.Added? I some examples using both to add an entity to DbContext but not sure which is the preferred one.
我看到一些测试"已分离"的条件,并决定在其存储库实现中使用哪个条件.
I saw some test the "Detached" condition and decide which to use in their repository implementation.
public void Add(T entity)
{
var entry = DbContext.Entry(entity);
if (entry.State == EntityState.Detached)
{
DbSet.Add(entity);
}
else
{
entry.State = EntityState.Added;
}
}
有人知道吗?谢谢!
推荐答案
这两个选项之间没有任何区别,因为它们都在调用相同的方法(例如,ObjectContext上的AddObject).
There isn't any difference between either of these options as under the hood they are both calling the same method (ie AddObject on an ObjectContext).
这篇关于DbSet.Add(entity)和entity.State = EntityState.Added之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文