поиск по списку значений, разделенных запятыми, используя linq to sql - PullRequest
0 голосов
/ 26 апреля 2010

Каков наилучший способ обработки следующего сценария поиска в базе данных с использованием asp.net mvc, sql server и linq to sql?

У меня есть простой поиск людей по имени и фамилии. Основываясь на результатах, я хотел бы динамически фильтровать базу результатов по городу и бизнесу людей. Это может быть несколько городов или предприятий (Денвер, Нью-Йорк и т. Д. И Бизнес A, Бизнес Bct.)

Вот некоторый псевдо-код того, что мне нужно сделать:

_db.People.where(p => p.City.Contains(Denver, New York, multiple parameters) 
&& p.Business.contains(Denver, New York, multiple parameters);

Я передаю эти значения назад, разделенные запятыми для поиска. Сейчас я перебираю каждое значение для поиска в базе данных и использую функцию linq to sql .addrange для создания своих обновленных списков. Я не уверен, что это лучший способ сделать это. Можно ли вместо этого передать полный список значений, разделенных запятыми, для сравнения? Я открыт для любых опций, полнотекстового поиска или сохраненного процесса, но я просто не уверен, с чего начать.

1 Ответ

3 голосов
/ 27 апреля 2010
var cities = commaSeparatedList.Split(',').Select(p => p.Trim());
var q = _db.People.Where(c => cities.Contains(c.City));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...