2012-11-09 47 views
0

我在做一个标准的功能是这样的:DbSet <>。添加会导致调用SaveChanges。为什么?

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,把一个破发点,它正在呼吁加入到DbSet。为什么它在Add上调用它?它应该只在SaveChanges上像ObjectContext那样调用它!

我该如何防止这种疯狂? (做任何交易的东西太多了!)

谢谢!

回答

2

我想出了它为什么这样做。这是一个代码第一次迁移的帖子,在变更追踪器中没有任何内容,所以除了做迁移工作之外,没有任何事情从EF的角度出现。它只发生在你第一次对DbContext做任何事情时。

相关问题