在 EF 6 中使用 .Contains()

G43*_*eli 5 c# linq entity-framework contains

我使用以下 Linq 查询:

var projectList = from p in dbContext.vw_Projektkontrolle
                       where p.TXT_Adress1.Contains(filterTxt)
                       orderby p.TXT_Name
                       select p;
Run Code Online (Sandbox Code Playgroud)

projectList的总是空的。在调试中我可以看到,filterTxt例如“testcompany”。

EF 6 中是否仍在使用 contains 方法或是否有任何解决方法?

我将filterTxt通过 Form Post传递给我的 MVC 应用程序中的 Action 方法。

如何解决这个问题。

编辑:当我只使用一个charf.ex: "a" as时它有效filterTxt

但是TXT_Adress1filterTxt都被声明为字符串

Vla*_*mir 2

String.Contains 方法翻译为:

CHARINDEX(ShowTypeDescriptio, @showTypeDescription) > 0
Run Code Online (Sandbox Code Playgroud)

可以尝试使用小写:

var projectList = from p in dbContext.vw_Projektkontrolle
                   where p.TXT_Adress1.ToLower().Contains(filterTxt.ToLower())
                   orderby p.TXT_Name
                   select p;
Run Code Online (Sandbox Code Playgroud)

即使它有效,你也可能会面临土耳其测试问题

  • 成功了!我用 toUpper() 尝试过,但没有成功。谢谢你,你帮了我很多忙:) (2认同)