我有以下实体:
public class Product{
public int ID { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public string SubCategory { get; set; }
}
我最终想显示一个页面,该页面采用 aIEnumerable<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
而且SubCategories
我没有干净的方法来处理每个Category
人都有不同的SubCategories
.
任何有按类别对对象进行分类经验的人 - 你能在正确的方向上推动我如何干净地处理这种情况吗?我可以完成工作,但我觉得我的代码不必要地草率而不是干燥。
我还想知道我的Product
班级是否以不恰当的方式处理Categories
/ SubCategories
- 其他人有同样的感觉吗?(我认为我的类别可能更适合完全作为单独的对象)