在EF 6中使用.Contains()

时间:2016-04-18 08:55:07

标签: c# entity-framework linq contains

我使用以下Linq查询:

var projectList = from p in dbContext.vw_Projektkontrolle
                       where p.TXT_Adress1.Contains(filterTxt)
                       orderby p.TXT_Name
                       select p;

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

  

Contains方法是否仍在EF 6中使用或是否有任何工作   围绕?

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

如何解决此问题。

  

编辑:当我只使用一个char f.ex:“a”作为filterTxt时,它可以正常工作。

     

TXT_Adress1filterTxt都声明为字符串

1 个答案:

答案 0 :(得分:2)

String.Contains方法转换为:

CHARINDEX(ShowTypeDescriptio, @showTypeDescription) > 0

可能会尝试使用小写:

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

即使它有效,您也可能面临Turkey Test问题