linq查询

Linq给我们带来了很多的便利,不必时时刻刻写sql,可以让一个不懂T-SQL的程序猿也能实现简单编程,但是linq在效率上确实比不上SQL。数据量越大,效率问题就明显。

一般查询可以这样写

var v = (from c in en.T_AQI
                         where c.DatState.Equals("2") && c.SiteID == siteID
                         orderby c.DataTime descending  //排序
                         select c).Take(30).ToList();//Take和top的作用一样。ToList()就不用说了

也可以指定列查询

var v = (from c in en.T_AQI
                         where c.DatState.Equals("2") && c.SiteID == siteID
                         orderby c.DataTime descending  
                         select new {name = st.Name, age= st.Age}).Take(30).ToList();//列名是自己随意写的

也可以链接查询

 

var v = (from c in en.T_AQI
         from u in r.TabUser
                         where c.DatState.Equals("2") && c.SiteID == siteID
                         orderby c.DataTime descending  
                         select new{u.Name,c.Age,...}).Take(30).ToList();  //这个是多对多查询

 

var v = (from c in en.T_AQI
         from u in en.T_AQI
                         where c.DatState.Equals("2") && c.SiteID == c.SiteID
                         orderby c.DataTime descending  
                         select new{name=c.Name,age=c.Age}).Take(30).ToList();  //这个是自连接查询

 

var v = (from c in en.User
            join u in en.Role on c .RoleId equals u.ID into userlist
                         where c.DatState.Equals("2") && c.SiteID == c.SiteID
                         orderby c.DataTime descending  
                         select new{c.Name,c.Age,u.RoleName}).Take(30).ToList();  //这个是双向接查询

 

 

var v = (from c in en.T_AQI
         from u in r.TabUser
                         where c.DatState.Equals("2") && c.SiteID == siteID
                         orderby c.DataTime descending  
                         select u).Take(30).ToList();  //这个是一对多查询

转载于:https://www.cnblogs.com/bobo-pcb/p/3715564.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值