搜索下方的代码段允许用户将字符串与表中的三个字段进行匹配.如果任何字段匹配,则条目包含在结果中.但是,使用Where筛选结果会导致"字符串必须匹配所有三个字段"而不是"字符串可以匹配三个字段中的任何一个".
有没有办法在动态构建LINQ查询时模拟OrWhere表达式?
var foundUsers = from UserInfo user in entities.UserInfo
select user;
if (searchCompleteName)
{
foundUsers = foundUsers.Where(u => u.CompleteName.Contains(searchString));
}
if (searchPortalID)
{
foundUsers = foundUsers.Where(u => u.PortalID.Contains(searchString));
}
if (searchUsername)
{
foundUsers = foundUsers.Where(u => u.UserIdentity.Contains(searchString));
}
Run Code Online (Sandbox Code Playgroud)
PS.我正在使用实体框架和LINQ to Entities,我正在做一个MVC3 Web应用程序.
linq ×1