Closed Yumitoya8569 closed 1 year ago
it.Name.Contains("a") like '%a%' it.Name.StartWith("a") like '%a' it.Name.EndWith("a") like 'a%' 都支持的
Contains, StartWith, EndWith 在應用上會自動補上通配符 '%'
在我前面提供的情境下皆不適用, 有時候需要利用不補'%'的like語法:
_
[ ]
[^]
大概理解你的意思你就是想一个不加任何符号的like
你可以先这样用 Where(" name like @p",new {p="test_"}) 下个版本我加一个SqlFunc.ConatinsNoWith
可以參考EF Core的設計:
var customers1 = context.Customers.Where(c => c.Name.StartsWith("a"));
var customers2 = context.Customers.Where(c => EF.Functions.Like(c.Name, "a%"));
應該挺直觀的
Where(c => c.Name.StartsWith("a"))
Where(c => SqlFunc.Like(c.Name, "a%"))
也行
SqlSugarCore 5.1.4.87-preview08 已支持
更新到预览版本或者下载最新源码
情境
1.比較儲存在表內的通配符
2.使用'%'以外的其他通配符
建議
新增擴展
或參考EF Core, 多了一個可選參數來設定逃逸字符 https://learn.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.dbfunctionsextensions.like?view=efcore-7.0