我有以下 EF类源自数据库( 简体)
class Product
{
public string ProductId;
public string ProductName;
public string CategoryId;
public string CategoryName;
}
ProductId
是主键的表。
不好的设计决策所做的数据库设计器( I 才能对其进行修改),我 CategoryId
和 CategoryName
此表中。
我要 DropDownList 使用( distinct ) CategoryId
作为值和 CategoryName
作为 Text 。 因此我应用以下代码:
product.Select(m => new {m.CategoryId, m.CategoryName}).Distinct();
这逻辑上它应该创建匿名对象, CategoryId
和 CategoryName
为属性。 。 Distinct()
保证没有重复值对( CategoryId
, CategoryName
) 。
但实际上它不起作用。 就我理解的 Distinct()
时的作用就只有一个字段集合中,否则它只是忽略他们除掉它正确? 有什么解决方法? 谢谢 !
UPDATE
抱歉 product
是:
List<Product> product = new List<Product>();
我找到了另外一种方法来获取结果相同 Distinct()
:
product.GroupBy(d => new {d.CategoryId, d.CategoryName})
.Select(m => new {m.Key.CategoryId, m.Key.CategoryName})