linq удалить, вставить, отправить - PullRequest
2 голосов
/ 14 января 2012

мне интересно, нужно ли мне постоянно вызывать 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();

в основном все значения, которые я храню в этой таблице,Результаты чекбокса (Один участник ко многим чекбоксам).поэтому я удаляю все в таблице для этого участника и создаю список для вставки «в массовом порядке».

не уверен, ясно ли я это заявляю или нет.

другими словами,если я выполняю DeleteAllOnSubmit без вызова SubmitChanges, затем вызываю InsertAllOnSubmit и, наконец, вызываю SubmitChanges, будет ли он работать как положено?

спасибо.

1 Ответ

4 голосов
/ 14 января 2012

Да, это будет работать правильно, и выполнение всех изменений и SubmitChanges только один раз, как правило, считается лучшим вариантом, чем отправка их отдельно.

...