Как вы заставляете SubmitChanges отправлять только определенные изменения, а не все предыдущие изменения? - PullRequest
0 голосов
/ 01 февраля 2010

Метод ASP.NET linq SubmitChanges фиксирует изменения для всех предыдущих модификаций базы данных с момента последнего вызова.

У меня есть случай, когда я делаю что-то вроде следующего:

ClassX x = new Abc.Linq.ClassX();
DataContext.InsertOnSubmit(x);

ClassY y = new Abc.Linq.ClassXY();
DataContext.InsertOnSubmit(y);

DataContext.SubmitChanges();//x and y are committed to the database

Я хотел бы вставить y, но не X в строку выше. Затем я хотел бы вставить X с другим вызовом SubmitChanges () через некоторое время. Я должен выполнить код в указанном порядке.

Это возможно? Или я должен вызывать что-то кроме SubmitChanges ()?

1 Ответ

4 голосов
/ 01 февраля 2010

Я бы использовал для этого отдельные DataContexts. DataContext - это просто оболочка для доступа к данным и набор ожидающих изменений. Он не поддерживает частичные фиксации своего списка изменений. InsertOnSubmit делает то, что говорит - есть ли причина, по которой вам нужно позвонить, прежде чем вы на самом деле хотите, чтобы оно было отправлено? Возможно, если бы вы подробно остановились на проблеме, которая блокирует вас в этом порядке выполнения, мы могли бы предложить лучшее решение.

...