我有以下实体:
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。ProductsSubCategory
我的 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- 其他人有同样的感觉吗?(我认为我的类别可能更适合完全作为单独的对象)