我正在使用VS2010,VB.NET和实体框架。
我的应用程序中有一个文本框,您可以通过发送他的姓名,身份证号码或姓氏来搜索某个人。显然,我在数据库中有一个名为PERSON的表,如何从数据库中检索与搜索匹配的所有人员。
例如我在我的数据库中有这两个人:
人1。
姓名:萨曼莎
姓氏:Randf
ID:702020406
人2
姓名:Eric
姓氏:Salas
ID:405670233
如果一个人在搜索文本字段中发送短信“s” ...这个人应该从数据库中检索,因为名字中的人1与人2是巧合的在姓氏。 这是一个全球搜索,任何想法?
答案 0 :(得分:0)
context.Persons.Where(p => p.Name.Contains("s") || p.LastName.Contains("s"))
答案 1 :(得分:0)
您可以使用Contains()方法匹配搜索字符串。以下示例将在名字或姓氏的任何位置返回名称中包含“s”的人。
context.Persons.Where(p => p.Name.ToLower().Contains("s") || p.LastName.ToLower().Contains("s"));
或者,您可以将标准SQL语句与LIKE运算符一起使用,并使用context.ExecuteStoreQuery()
函数执行它。