Мой объект DTO НЕ сохраняется в базе данных через контекст данных почему?

#mvvm #ria #converter #dto

#mvvm #ria #конвертеры #dto

Вопрос:

я работаю над проектом, и мы используем службы MVVM и Wcf ria. из-за головной боли, создаваемой внешними ключами, описание которых должно отображаться в таблицах пользовательского интерфейса, мне пришлось прибегнуть к использованию DTO, которые выполняют работу по объединению запросов из разных таблиц и возврату описаний.

теперь проблема в том, что когда я хочу сохранить и использую context.attach(entity) после редактирования, появляется сообщение об ошибке, в котором говорится, что объект с таким идентификатором уже существует. я попытался отсоединить перед подключением, и это все то же самое, без изменений.

может ли sombody мне помочь? заранее спасибо.

чарльз.

Комментарии:

1. Я удалил свой ответ. Это было для NHibernate, а не для EF. Извините за это.

2. Мне очень жаль, что я не включил этот факт в свой вопрос. Извини за путаницу, Дэн!

Ответ №1:

Я думаю, вы бы сделали что-то вроде этого:

 var db = new MyDataContext();
var myEntity = db.Entities.Single(x=>x.Id = dto.Id);
myEntity.Value = dto.Value;
db.SaveChanges();