[英]ASP.Net MVC ViewModel for models with navigation properties
嗨,我有以下型號:
public class Category()
{
public int id{get;set;}
public string Name{get;set;}
public ICollection<Book> Books{get;set;}
}
public class Book()
{
public int id{get;set;}
public string Name{get;set;}
public Book Book {get;set}
}
如果我想創建一個顯示類別的視圖,則可以創建一個CategoryViewModel並為其創建一個強類型的視圖。
如果我還想顯示類別的書籍列表,是否應該為書籍創建一個視圖模型並將其用作categoryviewmodel中的集合。 如果我不想公開ef模型,應該為所有子類型創建viewmodel嗎?
我剛剛開始使用MVC,並且閱讀了一些直接將實體暴露給視圖的問題。 如這一個 。 非常感謝對此的任何指導。 在線上有關視圖模型的大多數帖子僅顯示1級。 或者他們直接公開實體。
是的,始終使用ViewModel-s顯示數據,並始終使用InputModel-s接受來自用戶的數據。 在您的情況下,您應該制作一個具有2個屬性的BookViewModel
類:
public int Id { get; set; }
public string Name { get; set; }
然后在CategoryViewModel
類中創建IEnumerable<BookViewModel>
屬性,並將其傳遞給視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.