linq删除、插入、提交

linq删除、插入、提交,linq,linq-to-sql,insertonsubmit,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 it

我想知道在同一数据存储上运行顺序删除/插入语句时是否需要不断调用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();
db.SomeTable.deleteAllonsSubmit(db.SomeTable.Where(p=>p.PartID==part.PartID));
db.SubmitChanges();
列表列表=新列表();
foreach(公共援助部分中的一般查找项)
{
Add(新的SomeTableEntity(){…});
}
db.SomeTable.InsertAllOnSubmit(列表);
db.SubmitChanges();
基本上,我在这个表中存储的所有值都是复选框结果(一个参与者对多个复选框)。因此,我删除了该参与者表中的所有内容,并创建了一个列表来插入“整体”

我不知道我是否说得很清楚

换句话说,如果我在不调用SubmitChanges的情况下执行DeleteAllOnSubmit,然后调用InsertAllOnSubmit,最后调用SubmitChanges,它会按预期工作吗


谢谢。

是的,它会正常工作,而且通常认为只做一次所有更改和提交更改比单独提交它们要好。

是的,它会正常工作,通常认为,只做一次所有更改和提交更改比单独提交更改要好。

如果您试图使其具有事务性,则使用
TransactionScope
@liho1eye。没有必要使用TransactionScope。l2s可以为您完成所有这一切,只要您只有一个提交更改。如果您试图使其具有事务性,则使用
TransactionScope
@liho1eye,无需使用TransactionScope。l2s可以为您完成所有这些,只要您只有一次提交更改