我可以Get()单个视图模型但是当我有一个包含多个视图模型的View模型时,该对象不会返回。我也可以Get()和单个模型数组。
当我调试时,我可以看到该视图模型确实包含数据,甚至直到返回。但只有一个空的{}对象才能到达客户端。我认为有一些基本的我不知道。当视图模型更复杂时,是否必须将视图模型序列化为JSON或XML?如果是这样,有人能指出我正确的方向吗?
我是以错误的方式来做这件事的吗?我应该为每个模型制作一个Web API吗?如果我想要与该模型相关联的模型,那么我将进行两次调用而不是一次?
理想情况下,我希望使用单个API来提取模型及其关联模型,只对服务器进行一次调用。除非不推荐。
示例:
public BookVM GetBookAndChapters(int id)
{
Book book = db.Books.Find(id);
if (book == null)
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
}
BookVM bookvm = new BookVM
{
Book = book,
Chapters = db.Chapters.Where(c => c.BookId == book.BookId).ToList()
}
return bookvm ;
}
如果我只是要求一本书,我会得到正确的回报。如果我只是要求章节,我会得到一系列章节。如果我要求包含Book和Chapters的BookVM,我将获得一个{}空对象。