SQLSugar用法

static SugarDbContext sugar = new SugarDbContext();
        static void Main(string[] args)
        {
            var db = sugar.Db;
            //查询所有
            var AllStudent = db.Queryable<Student>().ToList();
            //取前5条
            var top5 = db.Queryable<Student>().Take(5).ToList();
            //无锁查询
            var getAllNoLock = db.Queryable<Student>().With(SqlWith.NoLock).ToList();
            //根据主键查询
            var getByPrimaryKey = db.Queryable<Student>().InSingle("0000d82f-b1f2-4c7d-a3b9-6c70f9678282");
            //查询单条没有数据返回NULL, Single超过1条会报错,First不会
            //var getSingleOrDefault = db.Queryable<Student>().Single(); //会报错,数据量大于一条
            var getSingleOrDefault = db.Queryable<Student>().Where(A=>A.StudentID== "0000d82f-b1f2-4c7d-a3b9-6c70f9678282").Single();
            var getFirstOrDefault = db.Queryable<Student>().First();
            //UNION ALL Count = 2420838  240多万条数据
            var UNIONLst = db.UnionAll<Student>(db.Queryable<Student>(), db.Queryable<Student>()).ToList();
            //in 查询
            var in1 = db.Queryable<Student>().In(A => A.StudentID, new string[] { "000136bf-f968-4a59-9091-bae8ebca42fb", "00020ba7-44e6-494c-8fcb-c1be288a39b3" }).ToList();
            //主键 In (1,2,3)  不指定列, 默认根据主键In
            var in2 = db.Queryable<Student>().In(new string[] { "000136bf-f968-4a59-9091-bae8ebca42fb", "00020ba7-44e6-494c-8fcb-c1be288a39b3" }).ToList();
            //in 查询
            List<string> array = new List<string>{ "000136bf-f968-4a59-9091-bae8ebca42fb", "00020ba7-44e6-494c-8fcb-c1be288a39b3" };
            var in3 = db.Queryable<Student>().Where(it => array.Contains(it.StudentID)).ToList();
            //not in
            var in4 = db.Queryable<Student>().Where(it => !array.Contains(it.StudentID)).ToList();
            //where
            var getByWhere = db.Queryable<Student>().Where(it => it.StudentID == "000136bf-f968-4a59-9091-bae8ebca42fb" || it.StudentName == "陈丽").ToList();
            //SqlFunc
            var getByFuns = db.Queryable<Student>().Where(it => SqlFunc.IsNullOrEmpty(it.StudentName)).ToList();
            //between and 
            var between = db.Queryable<Student>().Where(it => SqlFunc.Between(it.CreateTime, DateTime.Now.AddDays(-10), DateTime.Now)).ToList();
            //排序
            var getAllOrder = db.Queryable<Student>().Take(100).OrderBy(it => it.CreateTime).ToList(); //默认为ASC排序
            //组合排序
            var data = db.Queryable<Student>()
                .OrderBy(it => it.StudentName, OrderByType.Asc)
                .OrderBy(it => it.CreateTime, OrderByType.Desc)
                .ToList();

            //是否存在 any
            var isAny = db.Queryable<Student>().Where(it => it.StudentName == "张龙").Any();
            var isAny2 = db.Queryable<Student>().Any(it => it.StudentSex == "女");
            //获取同一天的记录
             var getTodayList = db.Queryable<Student>().Where(it => SqlFunc.DateIsSame(it.CreateTime, DateTime.Now)).ToList();

            Console.ReadLine();
        }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山林恩泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值