0

我正在使用 VS2010、VB.NET 和实体框架。

我的应用程序中有一个文本框,您可以在其中通过输入他的姓名、身份证号或姓氏来搜索一个人。显然我在数据库中有一个名为 PERSON 的表,我该如何从数据库中检索与搜索匹配的所有人员。

例如,我的数据库中有这两个人:

人 1.
姓名:Samantha
姓氏:Randf
ID:702020406

人 2
姓名:Eric
姓氏:Salas
ID:405670233

如果一个人在搜索文本字段中输入字母“s” ......两个人都应该从数据库中检索,因为名字中的人 1 和姓氏中的人 2 重合。这是一个全球搜索,你知道吗?

4

2 回答 2

0

您可以使用 Contains() 方法来匹配搜索字符串。以下示例将返回名字或姓氏中任何位置包含“s”的人。

context.Persons.Where(p => p.Name.ToLower().Contains("s") || p.LastName.ToLower().Contains("s"));

或者,您可以使用带有 LIKE 运算符的标准 SQL 语句并使用context.ExecuteStoreQuery()函数执行它。

于 2012-09-20T01:22:45.903 回答
0
context.Persons.Where(p => p.Name.Contains("s") || p.LastName.Contains("s"))
于 2012-09-19T23:51:49.330 回答