当我正在用实体框架进行分组时,我遇到了这个问题。与服务器上的分组的EF问题
净:4.5,EF:5.0,数据库:Oracle
我的问题是,当我在分组服务器上并取回数据,分组数据(实体的名单)用返回的第一个记录并结束所有分组数据 - 但组的KEY是正确的。
如果我不按预期的方式按照记录返回一个组,但是我有一些分组要求,我的解决方法是...是的,没有让我觉得这很好,代码应该工作......但它确实不。
x.D =字符串休息是整数/字符串混合。
这里是一个没有工作的代码:
db.ENTITY_NAME
.Where(x =>
wantedGs.Contains(x.G) &&
wantedAs.Contains(x.A)
)
.GroupBy(x => x.D)
.ToList()
.Select(x => x.FirstOrDefault())
.Select(x => new MyEntity
{
A = x.A,
B = x.B,
C = x.C,
E = x.E,
D = x.D,
F = x.F,
G = x.G
})
.ToList();
这里是我设法做我想做的变通方法:
db.ENTITY_NAME
.Where(x =>
wantedGs.Contains(x.G) &&
wantedAs.Contains(x.A)
)
.Select(x => new
{
x.A,
x.B,
x.C,
x.D,
x.E,
x.F,
x.G
})
.ToList()
.GroupBy(x => x.D)
.Select(x => x.FirstOrDefault())
.Select(x => new MyEntity
{
A = x.A,
B = x.B,
C = x.C,
E = x.E,
D = x.D,
F = x.F,
G = x.G
})
.ToList();
如果您只执行第一个查询的GroupBy(x => x.D),结果如何? – 2013-02-28 14:34:42