Cod*_*ody 2 linq asp.net where entity-framework-5
如何仅选择一行中只有两个值的明显组合的记录?
例如,说我有以下内容:
Name | Age | Height
------------------------------------
Joe 19 99
Kim 19 76
Joe 20 88
Joe 19 69
Run Code Online (Sandbox Code Playgroud)
我怎么能写一个LINQ表达式来只选择具有相同NameAND 的行Age?
我想:
var count = context.people.Where(p => (p.age && p.name).Distinct());
和var count = context.people.Where(p => (p.age.Distinct() && p.name.Distinct()));
这样做的正确方法是什么?
您可以只选择匿名类型的名称和年龄,然后使用Distinct():
var results = context.people
.Select(p => new { p.Name, p.Age })
.Distinct();
Run Code Online (Sandbox Code Playgroud)
显然,这不会给你的高度,但当时是没有单一的高度.如果你想要所有的高度,你需要分组:
var results = context.people
.GroupBy(p => new { p.Name, p.Age });
Run Code Online (Sandbox Code Playgroud)
这将为您提供一系列分组,其中每个分组包含具有相同名称和年龄的所有人.
| 归档时间: |
|
| 查看次数: |
2330 次 |
| 最近记录: |