Невозможно обновить одно поле, используя Linq для Sql - PullRequest
0 голосов
/ 25 апреля 2010

Я с трудом пытаюсь обновить одно поле без необходимости извлекать всю запись перед сохранением.

Например, в моем веб-приложении у меня есть редактор на месте для полей Имя и Описание объекта. После редактирования любого поля оно отправляет новое поле (со значением идентификатора объекта) на веб-сервер. Я хочу, чтобы веб-сервер принял это значение и идентификатор и обновил только одно поле. Google предлагает мне сделать это только двумя способами:

1) Когда я получу значение, которое я хочу изменить, значение и идентификатор, получу запись из базы данных, обновлю поле в объекте c #, а затем отправлю его обратно на сервер. Мне не нравится этот метод, потому что он не только включает в себя совершенно ненужный вызов чтения из базы данных (который включает в себя две таблицы из-за особенностей моей схемы).

2) Установите UpdateCheck для всех полей (кроме первичных ключей) на UpdateCheck.Never. Это не работает для меня (я думаю) из-за моего слоя отображения между Linq to Sql и моим слоем Entity / ViewModel. Когда я преобразовываю свою сущность в объект linq to sql db, кажется, что она обновляет эти поля независимо от настройки UpdateCheck. Это может быть только из-за целых чисел, так как не установка int означает, что это ноль (и нет, я не могу использовать вместо него int?).

Есть ли у меня другие варианты?

1 Ответ

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