Как загрузить свойство навигации в контроллер, не имея их в представлении - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть два класса, например, Автор и Книга.

Я показываю вам упрощенный код здесь

class Author
{
    int Id
    string Name
    virtual ICollection<Book> Books;
}

class Book
{
    int Id
    int AuthorId
    string Name
    bool Flag
}

В одном из моих представлений я хочу изменить Автор, но при сохранении объекта Я хочу обновить некоторые из его книг и установить для флага значение true;

Мой метод сохранения выглядит следующим образом

public ActionResult SaveAuthor(Author data) 
{
    // call Web API to save Author and also update Flag for some of the data.Books.
    // but data.Books is empty at this point.
}

В этом методе параметр data включает информацию об авторе, но , он не включает информацию о Книгах, поэтому data.Books пуст. Причина в том, что у меня нет информации о Книгах в моем просмотре, и представление не связывает информацию о Книгах.

Мой вопрос заключается в том, как я могу заполнить коллекцию Книг внутри метода SaveAuthor или предпочтительно внутри Web API, который Сохраняет автора.

Один из ответов заключается в том, что я должен включить все книги (как скрытое поле) для автора в поле зрения, чтобы я мог получить его обратно в параметре data.

Is Есть ли другой способ достичь этой цели без добавления книг в представление?

Я использую VS 2015 и, вероятно, MVC4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...