LINQ to SQL - свойства объекта - перезапись одного объекта другим - PullRequest
5 голосов
/ 08 декабря 2011

Сначала немного фона. У меня есть объект DataContext (Linq to SQL). Я использую это для взаимодействия с моей базой данных SQL. Я использую C # в Visual Studio 2010.

Проблема заключается в следующем: я могу редактировать запись из таблицы сущностей, которую я хочу. Я выбираю объект с запросом, изменяю определенное поле, затем отправляю изменения контекста данных. Но допустим, что я получаю отдельную сущность. Эта сущность на самом деле является отредактированной версией одной из существующих сущностей. Итак, что хочет, чтобы это перезаписать это. Теперь да, это возможно. Вы проверяете первичный ключ и перезаписываете поля из старого полями нового. Так в чем же проблема? Проблема в том, что если у сущности более 40 полей, то каждое поле нужно назначать отдельно. Нет ли способа или способа сделать это быстрее?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 08 декабря 2011

Вы можете использовать метод Attach().Если объект с таким идентификатором уже существует в базе данных, он будет перезаписан с присоединенным объектом.

myDataContext.Customers.Attach(myCustomer);
myDataContext.SubmitChanges();
0 голосов
/ 08 декабря 2011

Вы можете использовать Automapper framework для этой цели.Также он может быть использован для нескольких рутинных нужд, например, для отображения

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