Я с трудом пытаюсь обновить одно поле без необходимости извлекать всю запись перед сохранением.
Например, в моем веб-приложении у меня есть редактор на месте для полей Имя и Описание объекта. После редактирования любого поля оно отправляет новое поле (со значением идентификатора объекта) на веб-сервер. Я хочу, чтобы веб-сервер принял это значение и идентификатор и обновил только одно поле. Google предлагает мне сделать это только двумя способами:
1) Когда я получу значение, которое я хочу изменить, значение и идентификатор, получу запись из базы данных, обновлю поле в объекте c #, а затем отправлю его обратно на сервер. Мне не нравится этот метод, потому что он не только включает в себя совершенно ненужный вызов чтения из базы данных (который включает в себя две таблицы из-за особенностей моей схемы).
2) Установите UpdateCheck для всех полей (кроме первичных ключей) на UpdateCheck.Never. Это не работает для меня (я думаю) из-за моего слоя отображения между Linq to Sql и моим слоем Entity / ViewModel. Когда я преобразовываю свою сущность в объект linq to sql db, кажется, что она обновляет эти поля независимо от настройки UpdateCheck. Это может быть только из-за целых чисел, так как не установка int означает, что это ноль (и нет, я не могу использовать вместо него int?).
Есть ли у меня другие варианты?