我有一个名为类的表
**{BATCH, DEGREE, DEPT, SEM, SECTION, GROUP }** 我有以下记录
Record1:{ 2009,B.E,CSE,3 3Sem,ASec,1 1Group }
Record2:{ 2009,B.E,CSE,3 3Sem,ASec,2 2Group }
Record3:{ 2009年,B.E,欧洲经委会,4Sem,ASec,1 1Group }
Record4:{ 2009年,B.E,欧洲经委会,4Sem,ASec,2 2Group }
我需要选择不同的记录,忽略组,只考虑以下几点
{批,度,部,扫描电镜,剖面}
因此,它应该返回下面的2不同记录
1------------------------(OR)**
Record1: \*\*{ 2009 , B.E , CSE , 3Sem , ASec , 1Group }\*\* DistinctRecord:
Record2:**{ 2009年,B.E,CSE,3Sem,ASec,2 2Group }*
-(和)
Record3:**{ 2009年,B.E,欧洲经委会,4 4Sem,ASec,1 1Group }*
2------------------------(OR):DistinctRecord
Record4:**{ 2009年,B.E,欧洲经委会,4Sem,ASec,2 2Group }**
现在我使用以下LINQ查询
public static object GetDistictClasses(IQueryable<Class> AllClasses)
{
return (from c in AllClasses
group c by new { c.Batch, c.Degree_ID, c.Specialization_ID, c.CurrentSemester, c.Section_ID } into grp
select new
{
grp.Key.Batch,
grp.Key.Degree_ID,
grp.Key.Specialization_ID,
grp.Key.CurrentSemester,
grp.Key.Section_ID
}).Distinct();
}但是它返回给我一个Ananymous类型,但我需要实际的类类型
有人能帮我..。谢谢。。
普拉迪普
发布于 2011-05-27 07:08:58
您可以执行以下操作:
return
from c in AllClasses
group c by new
{
c.Batch,
c.Degree_ID,
c.Specialization_ID,
c.CurrentSemester,
c.Section_ID
} into grp
select grp.First();这将从给定组获取每个第一个Class,从而返回一个实体对象,而不是匿名类型。
发布于 2014-01-26 20:06:41
让它变得简单-不同是在两个属性上完成的:
此外,这将返回相同的对象类型。
var distinctgroupSubscriptions = groupSubscriptions.GroupBy(item => new { item.User.Id, item.Group.GroupId }).Select(group => group.First()).ToList();https://stackoverflow.com/questions/6148809
复制相似问题