var result = EFContext.TestAddresses.Select(m => m.Name).Distinct();
使用where的另一个变体,
var result = EFContext.TestAddresses
.Where(a => a.age > 10)//if you have any condition
.Select(m => m.name).Distinct();
另一个使用类似sql语法的变体
var result = (from recordset
in EFContext.TestAddresses
.where(a => a.city = 'NY')//if you have any condition
.select new
{
recordset.name
}).Distinct();
9条答案
按热度按时间i34xakig1#
正在使用lambda表达式..
使用where的另一个变体,
另一个使用类似sql语法的变体
u3r8eeie2#
试试这个:
这将为您提供一个
IEnumerable<string>
-您可以在其上调用.ToList()
以获得List<string>
。l7wslrjt3#
我希望能对某人有用。
nmpmafwu4#
如果有多个列,请执行以下操作:
在本例中,没有重复的CategoryId和CategoryName,希望这对您有所帮助
mbjcgjjk5#
实体-框架选择不同名称:
假设您正在***使用视图,其中您正在使用多个表***,并且您希望在这种情况下应用distinct,首先您必须将值存储在变量中,然后您可以像这样对该变量应用Distinct......
或者您可以尝试以下简单示例
rqenqsqc6#
使用Select().Distinct()函数
例如
e5nszbig7#
为了避免
ORDER BY items must appear in the select list if SELECT DISTINCT
错误,最好应dhxwm5r48#
实体-框架选择不同名称:
假设你要每组特定列的每一个第一数据;
w51jfk4q9#
.Distinct()对table使用默认的相等比较器,这可能不是我们想要的,这可能给予我们不正确的答案,所以我们可以使用DistinctBy,它使用一个特定的键。
DBContext.TestAddresses.Select(m => new {m.NAME, m.ID}).DistinctBy(m=>m.NAME);
如果需要多列,只需使用.DistinctBy(m=〉new{m.NAME,m.ID})