我想知道当我在同一个数据存储上运行顺序删除/插入语句时是否需要不断调用SubmitChanges():
db.SomeTable.DeleteAllOnSubmit( db.SomeTable.Where( p => p.PartID == part.PartID ) );
db.SubmitChanges();
List<SomeTable> alist = new List<SomeTable>();
foreach ( GenericLookupE item in part.PublicAssistance )
{
alist.Add( new SomeTableEntity() { . . . } );
}
db.SomeTable.InsertAllOnSubmit( alist );
db.SubmitChanges();
基本上,我在此表中存储的所有值都是复选框结果(One Participant to Many Checkboxes)。所以我删除表中该参与者的所有内容并创建一个列表以插入'en-masse'。
不确定我是否清楚说明了这一点。
换句话说,如果我在不调用SubmitChanges的情况下执行DeleteAllOnSubmit,则调用InsertAllOnSubmit并最终调用SubmitChanges,它是否会按预期工作?
感谢。
答案 0 :(得分:4)
是的,它可以正常工作,并且只进行一次所有更改和SubmitChanges通常被认为比单独提交它们更好。