【发布时间】:2009-12-17 10:48:20
【问题描述】:
我已经弄清楚了如何使用 linq to sql 进行条件查询,并且我还弄清楚了如何 OR where 子句。不幸的是,我无法弄清楚如何同时做到这两个。我可以做一个条件 where 子句,例如:
var ResultsFromProfiles = from AllPeeps in SearchDC.aspnet_Users
select AllPeeps;
if (SearchFirstNameBox.Checked)
{
ResultsFromProfiles = ResultsFromProfiles.Where(p => p.tblUserProfile.FirstName.Contains(SearchTerm));
}
if (SearchLastNameBox.Checked)
{
ResultsFromProfiles = ResultsFromProfiles.Where(p => p.tblUserProfile.LastName.Contains(SearchTerm));
}
这将为我提供名字和姓氏包含搜索词的任何个人资料。
或者我可以这样做:
var ResultsFromProfiles = from p in SearchDC.aspnet_Users
where p.tblUserProfile.LastName.Contains(SearchTerm) ||
p.tblUserProfile.FirstName.Contains(SearchTerm)
select p;
这将为我提供名字或姓氏包含搜索词的任何个人资料。
我有一堆复选框,用户可以在其中指定他们想要搜索哪些字段来搜索搜索词,所以我希望能够构建一个查询,有条件地添加它们,就像上面的第一个代码 sn-p 一样,但是将它们添加为 OR,以便它们像第二个 sn-p 一样工作。这样,它将在指定字段中的任何位置搜索任何匹配项。
有什么建议吗?
【问题讨论】:
标签: c# asp.net linq linq-to-sql