首页 > 数据库 >sqlsugar 扩展不区分大小写查询

sqlsugar 扩展不区分大小写查询

时间:2022-11-21 15:02:23浏览次数:49  
标签:DbType Args 扩展 expInfo 查询 AbsEquals 大小写 new sqlsugar

一、添加扩展

       ①、配置扩展方法

   var context= new SqlSugarScope(new ConnectionConfig()
            {
                DbType = DbType.MySqlConnector,
                InitKeyType = InitKeyType.Attribute,
                IsAutoCloseConnection = true,
                ConnectionString = RepositoryConfig.ConnectionString,
                ConfigureExternalServices = new ConfigureExternalServices()
                {
                    SqlFuncServices= new List<SqlFuncExternal>
                    {
                        new SqlFuncExternal()
                        {
                            UniqueMethodName="AbsEquals",
                            MethodValue = (expInfo, dbType, context) =>
                            {
                                if(dbType==DbType.MySql)
                                    return $" binary {expInfo.Args[0].MemberName}='{expInfo.Args[1].MemberValue}' ";

                                return $" {expInfo.Args[0].MemberName}='{expInfo.Args[1].MemberValue}' ";
                            }
                        }
                    }
                }
            });
        ②、使用扩展方法
​var user = context.Queryable<User>(p => SqlFuncEx.AbsEquals(p.Account, "Apricot")).FirstAsync();

       ③、扩展类

public static class SqlFuncEx
{
    public static bool AbsEquals(string first, string second)
        => throw new NotSupportedException("Can only be used in expressions");
}

 

标签:DbType,Args,扩展,expInfo,查询,AbsEquals,大小写,new,sqlsugar
From: https://www.cnblogs.com/study10000/p/16911388.html

相关文章

  • mybatis流式查询与分页插件
    1、流式查询1、实体类packagecom.wanqi.pojo;importjava.util.Date;/***@DescriptionTODO*@Version1.0.0*@Date2022/9/12*@Authorwandaren*/......
  • 篇(17)-Asp.Net Core入门实战-文章管理之文章类别管理(Linq子查询)
    篇(17)-Asp.NetCore入门实战-文章管理之文章类别的管理如果要做一个CMS系统,那么文章管理算是入门,文章管理附带一个类别管理,用来对文章进行类别区分。所以,本章简单讲一些......
  • SQL多表连接查询(详细实例)
    SQL多表连接查询(详细实例)本文主要列举两张和三张表来讲述多表连接查询。新建两张表:表1:student 截图如下:表2:course 截图如下:(此时这样建表只是为了演示连接SQL语句,当然实......
  • ABP.Core+EF 左连接查询
    EF的Join查询,一般默认是内连接,但是有些情况会需要左连接,则需要如下方式://左连接varquery=fromrinthis.Repository.GetAll()        ......
  • Mybatis查询返回Map
    1/**2*查询产品的医保名称、省标名称3*@paramproductIds4*@return5*/6@MapKey("productId")7publicMap<Long,Provinc......
  • 320场周赛 二叉搜索树最近节点查询
    320场周赛二叉搜索树最近节点查询给你一个二叉搜索树的根节点root,和一个由正整数组成、长度为n的数组queries。请你找出一个长度为n的二维答案数组answer......
  • ElasticSearch关于term&terms搜索大小写问题
    最近在es使用term查询是,发现查询结果一直为空GET/movies/_doc/100结果:{"_index":"movies","_type":"_doc","_id":"100","_version":1,"_seq_n......
  • MyBatis - 基础学习7 - 多表查询
    一.按照查询嵌套处理1.写接口List<Student>getstudent(); 2.在mapper.xml中写相关的sql语句<!--思路:1.查询所有的学生信息2.根据查询出来的学生的tid,寻找对......
  • 常见的数据查询
    常见的数据查询mysql中常见的数据查询1)groupby子句2)回溯统计3)分组排序4)having子句5)orderby子句1、groupby子句groupby子句:分组统计,根据某个字段将所有......
  • MySQL子查询
    MySQL子查询什么是子查询subquery,通过select查询结果当作另外一条select查询的条件或者数据源子查询的分类根据子查询出现的位置分类from子查询:子查询出现在from后......