日期:2014-05-20  浏览次数:20965 次

这个SQL语句怎样转换成Linq呢.
我想在RDLC报表里每行显示两组数据(主要是为了省纸,呵呵),就是要在得到的记录前面加入组号,再在RDLC报表里通过矩阵来实现,数据格式要求如下: 

行号 列号 数据一 数据二 数据三 …… 
1 1 *** *** *** …… 
1 2 *** *** *** …… 
2 1 *** *** *** …… 
2 2 *** *** *** …… 
3 1 *** *** *** …… 
3 2 *** *** *** …… 
以下是SQL语句(SQL2000)

SELECT 
  (ROW_NUM - 1) / 2 + 1 AS TitleRow, 
  (ROW_NUM - 1) % 2 + 1 AS TitleColumn, 
  Name, 
  Color, 
  ThumbNailPhoto 
FROM (select *,(select count(1) from Production.MailLabel where name <= a.name) as row_num 
  from Production.MailLabel a) as t

由于我现在已经将没加行列序号的数据读取并填充到DataGridview里了(不能从一开始读取数据时就加序号,因为DataGridview有可能新增记录),我想省去重新从数据库读数这一步,直接用Linq加个行列序号,刚开始学习Linq,觉得这个很难弄,请各位不吝赐教,谢谢谢谢!

------解决方案--------------------
Linqer

用这个软件试试
------解决方案--------------------
Linqer好东西啊
还有LINQPad
------解决方案--------------------
昏迷,这种需求从这种BT的SQL转换为LINQ表达式真是。。。。


这种需求用得着用LINQ么?row=index/2,column=index%2,你既然在代码里,index自然是有的。