C# EF+LINQ 高性能Like语法|C/S开发框架
作者:csframework|C/S框架网  发布日期:2024/10/20 11:54:10

C# EF+LINQ 高性能Like语法:

用法1:

C# 全选
using EFEx = Microsoft.EntityFrameworkCore.EF;

q.Where(w=>EFEx.Functions.Like(w.ProductName, $"%{input.content}%"));

用法2:

C# 全选
        public List<sys_DocType> Query(string content)
        {
            var q = _Database.GetQueryable<sys_DocType>();
            if (!String.IsNullOrEmpty(content))
            {
                q = q.Where(w => false
                    || Microsoft.EntityFrameworkCore.EF.Functions.Like(w.DocCode, $"%{content}%")
                    || Microsoft.EntityFrameworkCore.EF.Functions.Like(w.FormName, $"%{content}%")
                    || Microsoft.EntityFrameworkCore.EF.Functions.Like(w.FormNameSpace, $"%{content}%")
                    || Microsoft.EntityFrameworkCore.EF.Functions.Like(w.FormCaption, $"%{content}%")
                    || Microsoft.EntityFrameworkCore.EF.Functions.Like(w.KeyFieldName, $"%{content}%")
                    || Microsoft.EntityFrameworkCore.EF.Functions.Like(w.TableName, $"%{content}%")
                    || Microsoft.EntityFrameworkCore.EF.Functions.Like(w.TableDescription, $"%{content}%")
                    || Microsoft.EntityFrameworkCore.EF.Functions.Like(w.Remark, $"%{content}%")
                );
            }
            return q.ToList();
        }

大数据不建议使用:

C# 全选
.Where(w=>(w.ProductName ?? "").Contains(input.content));
C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇