0

我知道标题有点混乱,但问题很简单。我正在使用Entity FrameworkCode First接近。我有这两个关系为 1:N 的实体。记录的唯一性来自两列的组合 - Code+ CountryID。首先,我认为它Code本身将是唯一文件,因此我获取不同记录的查询如下所示:

IList<SoleColor> soles = SoleColorService.All()
                .GroupBy(x => x.Sole.Code)
                .Select(g => g.FirstOrDefault())
                .ToList();

但是现在它发生了,这样做我会丢失那些Code(或者准确地说 - Sole.Code)相同但CountryID不同的记录。我需要更改我的查询,使其返回Code+CountryID唯一的所有记录。

4

1 回答 1

1

您想按匿名类型分组:

.GroupBy(x => new { x.Sole.Code, x.Sole.CountryID })

顺便说一句:FirstOrDefault在从 a 返回的组上使用GroupBy没有意义。a 返回的每个组GroupBy都至少包含一个元素,因此First可以保证使用始终成功。

于 2013-03-25T15:20:32.037 回答