0

我正在做这样的标准功能:

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 上调用它!

我如何防止这种疯狂?(做任何事务性的事情都这么多!)

谢谢!

4

1 回答 1

2

我想通了为什么它会这样做。这是一个代码优先迁移帖子,在更改跟踪器中没有任何内容,因此从 EF 的角度来看,除了进行迁移工作之外,实际上没有发生任何事情。它仅在您第一次对 DbContext 执行任何操作时发生。

于 2012-11-09T17:30:34.443 回答