簡體   English   中英

如何在EF Core Like函數中使用通配符

[英]How can I use wildcards in EF Core Like function

.NET Core 2.2.0

我想在EF Core的Like函數中使用通配符,但是它不能按我期望的方式工作,我已經在一些帖子中讀到過( 這里是最佳示例)

我的代碼:

List<string> list = new List<string>();
list.Add("Hi fransois");
list.Add("Hi francois");
list.Add("Hi françois");

List<string> testa = list.Where(a => EF.Functions.Like(a, "%francois%")).ToList();      // Results in 1 hit, as expected
List<string> testb = list.Where(b => EF.Functions.Like(b, "%françois%")).ToList();      // Results in 1 hit, as expected
List<string> testc = list.Where(c => EF.Functions.Like(c, "%fran[cç]ois%")).ToList();   // Results in 0 hits, EXPECTED: 2

為什么這項工作沒有按預期進行?

不幸的是,這看起來行不通。 但是有一種使用Regex的解決方法:

    Regex regex = new Regex("fran[cç]ois");
    List<string> testd = list.Where(d => regex.IsMatch(d)).ToList();

這可行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM