Я пытаюсь использовать 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%]
Как мне исправить этот запрос?(Предполагается, что он ищет Джона и Доу, а не Доу и Доу.)