Skip to content

3.Query

陈珙 edited this page Mar 29, 2019 · 2 revisions

NOLOCK

Except for UpdateSelect can use.

con.QuerySet<SysUser>().WithNoLock().Get();

GET

Get the first data by filtering condition

con.QuerySet<SysUser>().Where(a => a.Email == "287245177@qq.com").Get()

TOLIST

You can also query qualified data list.

con.QuerySet<SysUser>().Where(a => a.Email == "287245177@qq.com").OrderBy(b => b.Email).Top(10).Select(a => a.Email).ToList();

PAGELIST

con.QuerySet<SysUser>().Where(a => a.Email == "287245177@qq.com")
                 .TOP(2)
                 .Select(a => new SysUser { Email = a.Email, CreateDatetime = a.CreateDatetime, SysUserid = a.SysUserid })
                 .PageList(1, 10);

UPDATESELECT

First update then select

con.QuerySet<SysUser>().Where(a => a.Email == "287245177@qq.com")
                .OrderBy(a => a.CreateDatetime)
                .Select(a => new SysUser { Email = a.Email })
                .UpdateSelect(a => new SysUser { Email = "2530665632@qq.com" });

ExpressionBuilder

var where = ExpressionBuilder.Init<SysUser>();

if (string.IsNullOrWhiteSpace(param.Email))
    where = where.And(a => a.Email == "287245177@qq.com");

if (string.IsNullOrWhiteSpace(param.Mobile))
    where = where.And(a => a.Mobile == "18988565556");

con.QuerySet<SysUser>().Where(where).OrderBy(b => b.Email).Top(10).Select(a => a.Email).ToList();

STARTSWITH

con.QuerySet<SysUser>().Where(a => a.Mobile.StartsWith("59332")).ToList();

ENDWITH

con.QuerySet<SysUser>().Where(a => a.Mobile.EndWith("59332")).ToList();

CONTAINS

con.QuerySet<SysUser>().Where(a => a.Mobile.Contains("59332")).ToList();

COUNT

con.QuerySet<SysUser>().Where(a => a.Email == "287245177@qq.com").Count();

SUM

con.QuerySet<SysUser>().Sum(a => a.Age);

EXISTS

con.QuerySet<SysUser>().Where(a => a.Email == "287245177@qq.com").Exists();
Clone this wiki locally