Как обновить один объект в sql для linq - PullRequest
0 голосов
/ 30 марта 2010

Например

a = datacontext.customers.FirstOrDefaul();
b = datacontext.customers.Skip(1).FirstOrDefaul();

a.name="name1";
b.Name="name2";

Когда я вызываю datacontext.SubmitChanges (), обновляются два объекта. Я не хочу этого

Мне нужно только обновить a объект. Как это сделать?

EDIT

WPFWindow windowA=new WPFWINDOW()
windowA.DataContext=a;
windowA.Show();

WPFWindow windowB=new WPFWINDOW()
windowB.DataContext=b;
windowB.Show();

При нажатии кнопки «Сохранить» в окне соответствующего объекта сохраняется.
При нажатии кнопки отмены соответствующий объект не сохраняется

Ответы [ 3 ]

2 голосов
/ 30 марта 2010

Вам необходимо использовать отдельные DataContext's.

0 голосов
/ 30 марта 2010

Насколько я понимаю, целью DataContext является инкапсуляция набора изменений, которые должны быть представлены вместе. Если вы хотите, чтобы некоторые изменения были отдельными, создайте еще один экземпляр DataContext. Я полагаю, что DataContexts должны быть легкими и быстрыми в создании и выпуске. В созданном мною приложении, которое интенсивно использует LINQ to SQL, я создаю отдельный DataContext для каждого окна. НЕ используйте общий контекст данных для всего вашего приложения. Это не похоже на соединение с базой данных. Вот почему соединение с базой данных является отдельным объектом.

0 голосов
/ 30 марта 2010

, если вы не хотите сохранять изменения в b, тогда зачем назначать b.name = "name2". Используйте временную переменную для хранения «name2». Позже вы можете назначить его на b.name, если хотите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...