使用asp.net mvc,sql server和linq to sql处理以下数据库搜索方案的最佳方法是什么?
我通过他们的名字和姓氏对人进行简单的搜索。根据结果,我想根据人们的城市和商业动态过滤结果。这可能是多个城市或企业(丹佛,纽约等,以及商业A,商业等)。
以下是我需要做的一些psudeo代码:
_db.People.where(p => p.City.Contains(Denver, New York, multiple parameters)
&& p.Business.contains(Denver, New York, multiple parameters);
我正在传递这些值,用逗号分隔以进行搜索。当前我循环遍历每个值以搜索数据库并使用linq to sql .addrange函数来构建我更新的列表。我不确定这是否是最好的方法。有没有办法传入逗号分隔值的完整列表进行比较?我对任何选项,全文搜索或存储过程都持开放态度,我只是不确定从哪里开始。
答案 0 :(得分:3)
var cities = commaSeparatedList.Split(',').Select(p => p.Trim());
var q = _db.People.Where(c => cities.Contains(c.City));