Wpf 用于用户搜索的Linq查询

Wpf 用于用户搜索的Linq查询,wpf,vb.net,linq-to-sql,filter,Wpf,Vb.net,Linq To Sql,Filter,我正在尝试使用数据列表从搜索框进行查询,我使用的linq是: data = (From k As BSPLib.ContactLib.Contact In data_org.Values Where k.stringdata Like "%" & Searchtxtbox.Text & "%" Select k.prime).ToList 但这不起作用,我没有得到任何数据。数据组织是一个字典,所以我使用了值;k、 stringdata包含所有需要搜索的数据。Searchtxtb

我正在尝试使用数据列表从搜索框进行查询,我使用的linq是:

data = (From k As BSPLib.ContactLib.Contact In data_org.Values Where k.stringdata Like "%" & Searchtxtbox.Text & "%" Select k.prime).ToList
但这不起作用,我没有得到任何数据。数据组织是一个字典,所以我使用了值;k、 stringdata包含所有需要搜索的数据。Searchtxtbox.text包含用户定义的搜索项


我通过linq尝试了sqlmethods,但是sqlmethods对我来说不存在,我尝试了导入的名称空间,但是代码没有显示sql方法,请您提供一个可行的查询,或者告诉我哪里出了问题。谢谢。

通配符在这里不起作用,请记住这是.NET代码,不是SQL。你需要这样的东西:

data = (
    From k As BSPLib.ContactLib.Contact In data_org.Values 
    Where k.stringdata.Contains(Searchtxtbox.Text) Select k.prime).ToList

我的Visual Basic有点生疏,请原谅我的语法错误: 您可以使用类似于“%Searchtxtbox.Text%”的Contains 如果与数据库上下文一起使用,则完全相同。 我知道这和Like不一样,但是如果这不起作用,那么很可能是其他地方出了问题,我希望有更多的代码

data = (From k As BSPLib.ContactLib.Contact In data_org.Values Where k.stringdata.Contains(Searchtxtbox.Text) Select k.prime).ToList 
对于
“Searchtxtbox.Text%”和
“Searchtxtbox.Text%”还可以使用
StartsWith
EndsWith
我还建议在括号中加上“%”&Searchtxtbox.Text&“%”
,以便澄清,但这一切都取决于您