SQL语句转换成Linq!

SELECT DISTINCT
KeyCode ,
IsValid
FROM SysRightOperate
WHERE RightId IN ( SELECT a.id
FROM SysRight a ,SysModule b
WHERE RoleId IN ( SELECT SysRoleId
FROM SysRoleSysUser
WHERE SysUserId = @userId )
AND a.ModuleId = b.Id
AND b.Url = @url )
AND IsValid = 1

第1个回答  2014-11-11
我在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(); 执行结果:
第2个回答  2014-11-12
太长的sql转成linq也是比较麻烦的,有时候有点得不偿失的感觉,如果你用了linq to ef,且表之间外键关系已经在model里了,还可以一试,否则你还不如建个视图,直接像表一样访问。本回答被提问者和网友采纳

以下SQL语句如何转换成LINQ格式的语句,在线坐等答案
var query = db.GetTable().Where(c=>c.isbn!=null).OrderByDesc(c=>c.name);一楼的e,就是表中的每一行数据。

Sql中not exists, 如何用linq表示
linq:如下是检索没有明细的订单,跟你的要求一样. 你改成t1 t2 就行了 from x in Orders where !Order_Details.Any(t => t.Detail_Order_ID != x.Order_NO)select x 如上转化成的sql是:SELECT [t0].[order_ID] AS [Order_ID], [t0].[order_NO] AS [Order_NO]FROM [Order] ...

linq 里面怎么用in比如有这个sql语句写成linq怎么写 如果以及not in怎么...
where LinkClubId==3 ) --not in 把where条件改成不等于3就好啦 and ExamineId not in( SELECT TOP (4*0) ExamineId FROM Examine )

...的sql语句Product Sales for 1997转换为linq to ef的问题。_百度知...
LING用得少,只是看到上面的语句有分组,下面的代码没有分组,是这个原因么?- -

linq有没有类似SQL的ascii函数吗?
SQL的ASCII函数,就是把第一个字符转换为ascii码,C#中直接用(int)'a' 就可以了,不需要linq

Linq和sql的正确发音
Linq = link SQL = see q well 连读就是[si:kwel]看读音也能大体知道个人水平,一般人容易读错.把 Linq 读为 link cue,把SQL读为 色扣.这种发音是不准的,只能说是不正统,但是不影响交流.

求总结linq与sql语法比较
linq是面向对象的sql。也就是说,sql是向关系型数据库的查询,而linq实际上是对内存里的数据的查询。虽然linq原来是对象查询,但经过ms的努力,可以通过表达式分析与实体到关系的映射(linq to sql),把linq转换为sql语句或是对xml的查询(linq to xml)。因此,这种技术就成了对象到数据库记录的一个方便的映射、转化与...

什么是ling to sql?
如果没有 LINQ 的话, 那么就是 for 循环, 然后 if 使用 LINQ 的话, 就是有点像数据库的 SQL 语句的写法 var query = from apple in appleList where apple.Color == "红色"select apple;关于 LINQ 的例子代码:http:\/\/hi.baidu.com\/wangzhiqing999\/blog\/item\/40982215d2625371ca80c494...

哪位懂linq to entity的,帮忙看一下这个sql语句怎么写成linq to entiy...
很久没有写entity,所以给不了语句。给个建议!中间的是纯innerjoin,这个写entity应该好写,然後把结果再用linq的sum方法一下。如:var linq=from t1 in JobInfo join t2 in LogInfos on t1.LogInfoID equals t2.LogInfoID ...略过,var d=linq.sum(sel=>sel.要汇总的字段)

LINQ比一般的SQL语句效率更高吗?
答案是linq to sql而不是直接的语句。一般我们使用直接的语句要求的是即是的执行,但事实上很多时间我们根本不需要那么多,linq to sql其实说明了就是会自动生成与表结构同样的一些对象。而这些对象在联系数据库时也是直接编译好的语句,直接联系时,两者效率是相同的。但是,如果我们对数据进行处理时,...

相似回答