• Bitter.Core系列 十二 :Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 支持的 where 条件表达式


    Bitter.Core 内置了支持大部分的 linq 的条件表达式。基本上符合我们 where 条件所需。Bitter.Core 的支持 表达式内置  扩展 有:

    • EndsWith    在Sql 解析成:  ‘%s’
    • StartsWith   在Sql 解析成:  ‘s%’
    • Contains     在Sql 解析成:  ‘%s%’
    • In                在Sql 解析成:     IN (1,2,34)
    • NotIn          在Sql 解析成:   NOT IN  (1,2,34)
    • IsNull          在Sql 解析成:    ISNUL(dbfiled,0)
    • Like             在Sql 解析成:    Like‘%s%’
    • NotLike       在Sql 解析成:   Not Like‘%s%’
    • >=              在Sql 解析成:   >=
    • <=              在Sql 解析成:   <=   
    • >                 在Sql 解析成:   >
    • <                 在Sql 解析成:   <
    • =                 在Sql 解析成:   =
    • !=                在Sql 解析成:   !=
    • &&              在Sql 解析成:  and (….)
    • ||                 在Sql 解析成:  (….) || (…)


    下面附上条件表达式如下demo 所示:


    static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
    
                MonitorInfo monitor_end = db.FindQuery<TStudentInfo>().Where(p => p.FName.EndsWith("h")).ToMonitorInfo();
    
                MonitorInfo monitor_start = db.FindQuery<TStudentInfo>().Where(p => p.FName.StartsWith("j")).ToMonitorInfo();
    
                MonitorInfo monitor_contains = db.FindQuery<TStudentInfo>().Where(p => p.FName.Contains("h")).ToMonitorInfo();
    
                MonitorInfo monitor_in = db.FindQuery<TStudentInfo>().Where(p => p.FAage.In(new int?[] { 1,2,3,4})).ToMonitorInfo();
    
                MonitorInfo monitor_notin = db.FindQuery<TStudentInfo>().Where(p => p.FAage.NotIn(new int?[] { 1, 2, 3, 4 })).ToMonitorInfo();
    
                MonitorInfo monitor_isnull_str = db.FindQuery<TStudentInfo>().Where(p => p.FName.IsNull("")).ToMonitorInfo();
    
                MonitorInfo monitor_isnull_int = db.FindQuery<TStudentInfo>().Where(p => p.FAage.IsNull(-1)).ToMonitorInfo();
    
                MonitorInfo monitor_like = db.FindQuery<TStudentInfo>().Where(p => p.FName.Like("h")).ToMonitorInfo();
    
                MonitorInfo monitor_Notlike = db.FindQuery<TStudentInfo>().Where(p => p.FName.NotLike("h")).ToMonitorInfo();
    
                MonitorInfo monitor_ThanEquel = db.FindQuery<TStudentInfo>().Where(p => p.FAage>=10).ToMonitorInfo();
    
                MonitorInfo monitor_LessThanEquel = db.FindQuery<TStudentInfo>().Where(p => p.FAage <=10).ToMonitorInfo();
    
                MonitorInfo monitor_And = db.FindQuery<TStudentInfo>().Where(p => p.FAage <= 10 && p.FAage<=20).ToMonitorInfo();
    
                MonitorInfo monitor_And_And = db.FindQuery<TStudentInfo>().Where(p =>p.FName.Like("h")&&(p.FAage <= 10 && p.FAage <= 20)).ToMonitorInfo();
    
                MonitorInfo monitor_And_And_And = db.FindQuery<TStudentInfo>().Where(p => p.FName.Like("h") && (p.FAage <= 10 && p.FAage <= 20)).Where(p=>p.FAddTime>"2020-10-11".ToSafeDateTime()).ToMonitorInfo();
    
                var k= Console.ReadKey();
            }
  • 相关阅读:
    vue2 v-model/v-text 中使用过滤器的方法示例
    HTML5游戏开发案例教程合集
    Docker实战案例视频课程
    Java项目框架架构与优化教程
    Linux云计算-虚拟化技术视频教程
    udl
    Chloe官网及基于NFine的后台源码毫无保留开放
    抽象类存在的意义和作用
    Shell 脚本语法
    Github 高级搜索功能
  • 原文地址:https://www.cnblogs.com/davidchildblog/p/14329100.html
Copyright © 2020-2023  润新知