【发布时间】:2010-12-06 17:12:17
【问题描述】:
我正在尝试使用 Linq to SQL 在文本列中搜索多个匹配的单词,但查询没有达到我的预期。
这是我的示例代码:
string[] nameSearch = new string[2];
nameSearch[0] = "John";
nameSearch[1] = "Doe";
var customers = context.Customers.AsQueryable();
foreach (string name in nameSearch)
{
customers = customers.Where(r => r.CustName.Contains(name));
}
Data.Customer[] results = customers.ToArray();
运行的查询是:
SELECT [t0].[CustName]
FROM [dbo].[Customer] AS [t0]
WHERE ([t0].[CustName] LIKE @p0) AND ([t0].[CustName] LIKE @p1)
-- @p0: Input NVarChar (Size = 5; Prec = 0; Scale = 0) [%Doe%]
-- @p1: Input NVarChar (Size = 5; Prec = 0; Scale = 0) [%Doe%]
如何解决此查询? (假设是在搜索 John 和 Doe,而不是 Doe 和 Doe。)
【问题讨论】:
标签: c# linq-to-sql