Я только начал использовать Entity Framework, а не мой обычный NHiberante, чтобы увидеть, как работает EF, и до сих пор у меня много проблем, но в частности это отключение объекта и сохранение связанные дочерние объекты.
Я купил книгу O'Reilly Entity Framework, в которой говорится: «Да, структура сущности по умолчанию не сохраняет граф объекта при отсоединении», но она не показывает, как вы храните график! Спасибо O'Reilly, что действительно полезно.Entity Framework - Отделить и сохранить связанный граф объектов
Во всяком случае, если кто-то может помочь, что было бы здорово, код ниже:
using (var creativeWorkshopEntities = new CreativeWorkshopEntities())
{
var q = from c in creativeWorkshopEntities.Job.Include("Files")
where c.Id == jobId
select c;
var job = q.First();
creativeWorkshopEntities.Detach(job);
return job;
}
Спасибо!
Dan
Это здорово спасибо Алекса MergeOption сделал трюк для, но проблема в том, без отсоединения моего метод обновления не работает, так или иначе вокруг этого? Использование (var creativeWorkshopEntities = new CreativeWorkshopEntities()) { { if (job.Id> 0) creativeWorkshopEntities.AttachОбновлен (работа); // Пользовательский метод размножения еще creativeWorkshopEntities.AddToJob (job); creativeWorkshopEntities.SaveChanges(); } – 2009-07-22 07:34:09
Вам необходимо использовать ApplyPropertyChanges (...), проходящую в обновленном объекте. ApplyPropertyChanges (обновлено) копирует значения из «обновленного» объекта в исходный объект. Чтобы это работало, «исходный» объект должен быть в контексте, либо потому, что вы держались за копию и прикрепляли ее (рекомендуется), либо потому, что вы выполнили запрос на повторную загрузку из базы данных. –
Есть ли способ предотвратить измельчение графа сущности? Почему отстраняется от реализации этого пути? – Den