MyException - 我的异常网
当前位置:我的异常网» LINQ » linq 转换表有关问题?跪求

linq 转换表有关问题?跪求

www.MyException.Cn  网友分享于:2015-02-04  浏览:0次
linq 转换表问题?跪求
如下表
表A                                                                        (显示的数据)
姓名   科目   成绩                                     姓名  语文  数学   英语  ...
张三   语文    70                                       张三   70    80       90
张三   数学    80               转换成            李四   60    70       null
张三   英语    90
李四   语文     60
李四   数学    70
 ....

请问 如何用linq实现  请写出方法  急急急急急!
------解决思路----------------------
科目不固定,然后你又推不出来的话,那直接实体转是不可能的
SQL还可以通过拼接的方式循环对付科目不固定的问题,当然你这个也可以通过DataTable来实现,查出g之后,循环

伪代码,保证思路,不保证正确
var query = from t in list
group t by t.姓名   into g
select g;

var 科目集合= query.Max(g=>g.Count()).Select(x=>x. 科目);
DataTable dt= new DataTable();
//循环科目集合添加Column
foreach(var q in query)
{
     DataRow row = dt.CreateRow();
     //姓名什么的补上
      foreach(var 科目 in 科目集合)
      {//科目补上
               var 成绩=q.Where(x=>x.科目== 科目).Select(x=>x.成绩).FirstOrDefault();
               row[科目]=成绩;
      }
}