SetModifiedProperty для вложенных свойств - PullRequest
1 голос
/ 20 февраля 2012

Как настроить SetModifiedProperty для вложенного свойства? Другими словами, у меня есть автор сущности, чья сущность имеет коллекцию книг, мне нужно изменить только название книги.

    var existingAuthor = authors.FirstOrDefault(x => x.Id.Equals(authorId));
    var bestSellerBook = existingAuthor.Books.FirstOrDefault(x=> x.Id.Equals(bookId));
    existingAuthor.Name = "xxxxxxx";
    bestSellerBook.Name = "xxxxxxxxxxx";
    context.Authors.Attach(existingAuthor);  
    context.ObjectStateManager.GetObjectStateEntry(existingAuthor).SetModifiedProperty("Name");
    context.SaveChanges();

Есть предложения?

1 Ответ

0 голосов
/ 20 февраля 2012

Вы должны получить запись состояния объекта для объекта, который имеет свойство, которое изменилось = в вашем случае это должна быть книга:

var existingAuthor = authors.FirstOrDefault(x => x.Id.Equals(authorId));
var bestSellerBook = existingAuthor.Books.FirstOrDefault(x=> x.Id.Equals(bookId));
bestSellerBook.Name = "xxxxxxxxxxx";
context.Authors.Attach(existingAuthor);  
context.ObjectStateManager.GetObjectStateEntry(bestSellerBook).SetModifiedProperty("Name");
context.SaveChanges();
...