Я начинающий программист и столкнулся с проблемой, как избежать массового назначения, на данный момент у меня есть только два очень маленьких автора и книги сущностей.Избегайте массового назначения MVC
public class Book
{
public Book()
{
Authors = new List<Author>();
}
public int? BookId { get; set; }
public string Title { get; set; }
public IList<Author> Authors { get; set; }
}
И я хотел бы избежать назначения (bookInDb.Title = book.Title), когда я обновление книги:
public void UpdateBook(Book book)
{
var bookInDb = GetBook(book.BookId.Value);
bookInDb.Title = book.Title; // I want this logic to be replaced in more elegent way
var authorsInDb = bookInDb.Authors.Select(f => f.AuthorId).ToList();
var editedAuthors = book.Authors.Select(f => f.AuthorId).ToList();
var authorToAdd = GetAuthorsToAdd(authorsInDb, editedAuthors);
authorToAdd.ToList().ForEach(x=>bookInDb.Authors.Add(x));
var authorsIdToRemove = authorsInDb.Except(editedAuthors);
var authorsToRemove = AuthorsToRemove(bookInDb.Authors, authorsIdToRemove);
authorsToRemove.ToList().ForEach(x => bookInDb.Authors.Remove(x));
_dbContext.SaveChanges();
}
Сейчас это не проблема, но если бы я больше Поля, я полагаюсь на это таким образом или есть намного более простой способ? Спасибо за ваши ответы.