我有这个非常简单的TPH模型。
当我使用context.TIImport.AddObject(tiObj)
添加对象时
然后调用context.TIImport.Count()
- 该值不包括新对象?
我希望在点击context.SaveChanges()
之前能够添加多个对象
var context = new CodeFirstContainer();
var g = new TIGuarantee
{
Id = 1,
AccountNumber = "123",
Amount = 123
};
context.TIImports.AddObject(g);
var il = new TIImportLoan
{
Id = 2,
AccountNumber = "123",
Amount = 123
};
context.TIImports.AddObject(il);
var i = context.TIImports.Count(); // = 0
context.SaveChanges();
var j = context.TIImports.Count(); // = 2
}
有没有办法告诉集合中有多少对象没有调用SaveChanges?
答案 0 :(得分:1)
您可以通过进入ObjectContext.ObjectStateManager并检查所有EntityState实体已添加到正确的Collection并将其包含在您的计数中来实现。为什么你想这样做却不明确。当您执行读取时,这些实体将不会包含在内,直到您使用SaveChanges()将它们实际持久保存到基础数据存储区中;如果您的目标不是让更改最终,那么您是否应该查看交易呢?