2009-10-27 3 views
0

Можем ли мы обновить запись, используя Table.Attach() в LINQ to SQL?Обновление данных Linq

Если да, то как?

Идея заключается в том, что я создам новый объект, привяжу его к таблице (которая, в свою очередь, будет привязана к DataContext), затем я буду отправлять изменения и т. Д. Идентификатор совпадает, существующий объект будет обновлен.

ответ

0

Вы должны сделать следующее:

  1. десериализации объекта от его источника. (Table.Attach() следует использовать только для повторной привязки объекта к DataContext после его сериализации).

  2. Call Table.Attach(), чтобы прикрепить объект к таблице.

  3. Сделайте свои обновления сущности.

  4. Вызов DbContext.SubmitChanges();

+0

Но я говорил о создании нового объекта, а затем приложил его. – anonymous

+0

Тогда Table.Attach() - это неправильный способ сделать что-то. Вам нужно создать новый экземпляр вашего объекта, а затем вызвать Table.InsertOnSubmit(). –

0

Если вы используете столбец RowVersion, можно использовать Attach(). В другом случае вам необходимо передать как измененные, так и оригинальные объекты в параметры метода Attach. Дополнительная информация доступна here.

Смежные вопросы