linq,该如何处理
linq
问:有一个表,其中的有些数据的某个字段的值重复
要求:保留其中的一条,并把其他条数据的某一字段给保留的这条。
例:
表A
字段 ID UserID OrgID OrgName
值 1 01 01 组织1
2 01 02 组织2
要的结果是
1 01 01,02 组织1,组织2
------解决方案--------------------
try
var query = from t in a group t by t.UserID into g select new { UserID = g.Key, OrgID= string.Join(",", g.Select(tt => tt.OrgID).ToArray()), OrgName = string.Join(",", g.Select(tt => tt.OrgName).ToArray()) };
------解决方案--------------------
------解决方案--------------------
var query= from x in db.TableA.ToList()
group x by x.UserID into g
select new
{
ID=g.First().ID,
UserID=g.Key,
UserName = (from u in db.TableB
where UserID ==g.Key
select u.UserName).FirstOrDefault() //假设你的用户表叫TableB , 用户名字段交UserName,你根据你实际的表名和字段修改
OrgID=String.Join(",",g.Select(y=>y.OrgID.Tostring()).ToArray()), OrgName=String.Join(",",g.Select(y=>y.OrgName).ToArray())
};
问:有一个表,其中的有些数据的某个字段的值重复
要求:保留其中的一条,并把其他条数据的某一字段给保留的这条。
例:
表A
字段 ID UserID OrgID OrgName
值 1 01 01 组织1
2 01 02 组织2
要的结果是
1 01 01,02 组织1,组织2
------解决方案--------------------
try
var query = from t in a group t by t.UserID into g select new { UserID = g.Key, OrgID= string.Join(",", g.Select(tt => tt.OrgID).ToArray()), OrgName = string.Join(",", g.Select(tt => tt.OrgName).ToArray()) };
------解决方案--------------------
var query= from x in db.TableA
group x by x.UserID into g
select new
{
ID=g.First().ID,
UserID=g.Key,
OrgID=String.Join(",",g.Select(y=>y.OrgID.Tostring()).ToArray()),
OrgName=String.Join(",",g.Select(y=>y.OrgName).ToArray())
};
------解决方案--------------------
var query= from x in db.TableA.ToList()
group x by x.UserID into g
select new
{
ID=g.First().ID,
UserID=g.Key,
UserName = (from u in db.TableB
where UserID ==g.Key
select u.UserName).FirstOrDefault() //假设你的用户表叫TableB , 用户名字段交UserName,你根据你实际的表名和字段修改
OrgID=String.Join(",",g.Select(y=>y.OrgID.Tostring()).ToArray()), OrgName=String.Join(",",g.Select(y=>y.OrgName).ToArray())
};