我正在做一个像这样的标准函数:
var dbCxt = new dbContext();
var entity = new entity();
entity.Property = "123";
dbCxt.EntitySet.Add(entity); <== SaveChanges is called!!!!
//Do some child stuff.
dbCxt.SaveChanges();
当我在DbContext中覆盖SaveChangs并且在Add to the DbSet中调用它时,我感到很惊讶。为什么在Add上调用它?它应该只在像ObjectContext这样的SaveChanges上调用它!
如何防止这种疯狂? (做任何交易的事情都很多!)
谢谢!
答案 0 :(得分:2)
我弄明白为什么要这样做。这是代码第一个迁移帖子,在更改跟踪器中没有任何内容,因此除了执行迁移工作之外,从EF角度来看实际上没有任何实际发生。它仅在您第一次对DbContext执行任何操作时发生。