【linq to sql学习笔记】查询(上)


之前有简单试验过linq的增删改,查询稍微有点复杂,打算用两篇来写,这篇主要写单表查询。

表结构:

1.查询所有

public static void GetUser()
        {
            using (var context = new UserDataContext())
            { 
                var query_User=context.UserInfo;
                var user = from u in query_User
                           select u;
                var user_ = query_User;
                Console.WriteLine("----------linq查询结果------------");
                foreach (var item in user)
                {
                    Console.WriteLine("编号:{0}   姓名:{1}  年龄:{2}",item.UserNum,item.UserName,item.Age);
                }
                Console.WriteLine();
                Console.WriteLine("----------lambda查询结果------------");
                foreach (var item in user_)
                {
                    Console.WriteLine("编号:{0}   姓名:{1}  年龄:{2}", item.UserNum, item.UserName, item.Age);
                }
            }
        }
结果:


2.查询编号等于9527

var user = from u in query_User
                           where u.UserNum=="9527"
                           select u;
var user_ = query_User.Where(o=>o.UserNum=="9527");

3.查询Age大于10,并且性别=1

  var user = from u in query_User
                           where u.Gender==1 && u.Age>10
                           select u;
  var user_ = query_User.Where(o=>o.Gender==1 && o.Age>10);

4.按年龄降序

 var user = from u in query_User
                           where u.Age>10
                           orderby u.Age descending
                           select u;
 var user_ = query_User.Where(o=>o.Age>10).OrderByDescending(o=>o.Age);

5.姓名包含“虎”

 var user = from u in query_User
                           where u.UserName.Contains("虎")
                           orderby u.Age descending
                           select u;
 var user_ = query_User.Where(o=>o.UserName.Contains("虎")).OrderByDescending(o=>o.Age);

6.姓名第二个字是“小”

var user = from u in query_User
                           where SqlMethods.Like(u.UserName, "_小_")
                           orderby u.Age descending 
                           select u;

7.用户总数

 var user = (from u in query_User
                           orderby u.Age descending 
                           select u).Count();
 var user_ = query_User.OrderByDescending(o=>o.Age).Count();

8.年龄平均数

 var user = (from u in query_User
                           orderby u.Age descending 
                           select u.Age).Average();
 var user_ = query_User.Average(o=>o.Age);

9.别名

var user = (from u in query_User
                            orderby u.Age descending
                            let c="我叫"+u.UserName
                            select c);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值