相关疑难解决方法(0)

Linq - 动态构建LINQ查询时模拟OrWhere表达式?

搜索下方的代码段允许用户将字符串与表中的三个字段进行匹配.如果任何字段匹配,则条目包含在结果中.但是,使用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

5
推荐指数
2
解决办法
1450
查看次数

标签 统计

linq ×1