SQL语句转换成Linq!
发布网友
发布时间:2022-04-10 12:34
我来回答
共3个回答
懂视网
时间:2022-04-10 16:56
Model 选择LINQ to Entity ,然后选择Generate 按钮,在弹出的框中指定一下Entity的文件藏身处,点击OK结束连接配置。
第三步,Connection 选择刚才配置的Connection Name,这时就可以随便写一些sql语句,这里写一些简单的,复杂的自己试
SQL转Linq工具的使用——Linqer
标签:官方 安装 .exe info style 实例 数据 版本 文件
热心网友
时间:2022-04-10 14:04
我在SQL里面测试了一下,@sql生成的sql语句是
select YearMonth, [A]=sum(case CodeA when 'A' then Number else NULL end), [B]=sum(case CodeA when 'B' then Number else NULL end), [C]=sum(case CodeA when 'C' then Number else NULL end) from a group by YearMonth而执行结果是
也就是按月份算出A、B、C的合计
而a表的数据是
那么linq的写法
class A{ public String YearMonth; public double Number; public String CodeA;}List<A> aList;//从数据库中读出的A表所有行var query = aList.GroupBy(q => q.YearMonth) .Select(q => new { YearMonth = q.First().YearMonth, A = q.Where(s => s.CodeA == "A").Sum(s => s.Number), B = q.Where(s => s.CodeA == "B").Sum(s => s.Number), C = q.Where(s => s.CodeA == "C").Sum(s => s.Number) });foreach (var queryResult in query){ Console.WriteLine(queryResult.YearMonth + " " queryResult.A + " " + queryResult.B + " " + queryResult.C);}Console.ReadLine(); 执行结果:
热心网友
时间:2022-04-10 15:22
太长的sql转成linq也是比较麻烦的,有时候有点得不偿失的感觉,如果你用了linq to ef,且表之间外键关系已经在model里了,还可以一试,否则你还不如建个视图,直接像表一样访问。