有一个包含列名的表
Name | ProductID | Price | Category | SubCategory
我正在将一个类别名称传递给一个动作方法,并且我希望返回与传入的类别名称位于同一行的子类别名称。
这样的事情,除了这是错误的:
var subcategories =
productsRepository.Products
.Select(x => x.SubCategory.Where(x.Category == category);
所以我可以用这个来收集不同的子类别名称:
foreach (string subcategoryName in subcategories.Distinct().OrderBy(x => x))
感谢。
答案 0 :(得分:1)
您在寻找:
var subcategories = productsRepository.Products
.Where(x => x.Category == category)
.Select(x => x.SubCategory)
.Distinct()
.OrderBy(x => x);
另一方面,您的数据库似乎没有规范化。
答案 1 :(得分:0)
我不确定我是否完全理解这个问题,但是最初过滤然后选择列会不会更好?
var subcategories =
productsRepository.Products.Where(x=>x.Category==category)
.Select(x => x.SubCategory);