linq删除,插入,提交

时间:2012-01-13 23:02:05

标签: linq linq-to-sql insertonsubmit

我想知道当我在同一个数据存储上运行顺序删除/插入语句时是否需要不断调用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,它是否会按预期工作?

感谢。

1 个答案:

答案 0 :(得分:4)

是的,它可以正常工作,并且只进行一次所有更改和SubmitChanges通常被认为比单独提交它们更好。