次のエンティティがあります。
public class Product{
public int ID { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public string SubCategory { get; set; }
}
私は最終的に、 を取り、最初に を並べIEnumerable<Product>
替え、次にそれぞれを で並べ替えるページを表示したいと考えています。Products
Category
Category
Products
SubCategory
私のViewModelはどのように見えるべきですか?
最初に私は次のようなものを思いつきました:
public class ProductListViewModel{
public IEnumerable<Product> Products { get; set; }
public IEnumerable<string> Categories { get; set; }
public IEnumerable<string> SubCategories { get; set; }
}
Categories
しかし、その後、コントローラーは一意の andを抽出するためのロジックでいっぱいになり、それぞれが の異なるリストを持ってSubCategories
いるという事実をきれいに処理する方法がありません。Category
SubCategories
オブジェクトをカテゴリ別に分類した経験のある人なら誰でも、この状況にきれいにアプローチする方法を正しい方向に向けてくれませんか? 私は仕事を成し遂げることができますが、コードを不必要にずさんで DRY ではないと感じています。
また、私のクラスが/Product
を処理するために不適切な方法で構造化されているかどうかも疑問に思っています - 他の誰かが同じように感じていますか? (私のカテゴリは、完全に別のオブジェクトとして適していると考えています)Categories
SubCategories