找回密码
 立即注册
首页 业界区 安全 ShadowSql之静态查询示例

ShadowSql之静态查询示例

狭宁 2025-5-30 11:44:52
ShadowSql拼接sql除了性能突出外还是讲逻辑的
其一为了更好拼接正确的sql,提供代码可读性
其二是为了码农同学爽,拼写起来更简便
以下我就举几个例子给大家观摩一下
 
一、单表查询示例
为了静态检测,我们首先自定义一个表UserTable用来查询
  1.     class UserTable : Table
  2.     {
  3.         public UserTable()
  4.             : base("Users")
  5.         {
  6.             Id = DefineColumn(nameof(Id));
  7.             Status = DefineColumn(nameof(Status));
  8.         }
  9.         #region Columns
  10.         public IColumn Id { get; private set; }
  11.         public IColumn Status { get; private set; }
  12.         #endregion
  13.     }
复制代码
1、用SqlQuery查询
  1.         var users = new UserTable();
  2.         var query = users.ToSqlQuery()
  3.             .Where(users.Id.LessValue(100));
复制代码
我们还可以用这样查询
  1.         var query = new UserTable()
  2.             .ToSqlQuery()
  3.             .Where(user => user.Id.Less("LastId"));
复制代码
sql: SELECT * FROM [Users]  WHERE [Id] user.Id.Less("LastId"));[/code]
 sql: SELECT * FROM [Users]  WHERE [Id]
您需要登录后才可以回帖 登录 | 立即注册