0

我正在尝试使用列表对 linq 结果进行过滤。

我有一个包含客户姓名的列表:

List<string> custList = new List<string> { "customer1", "customer2", "customer3" };

然后我有我的 linq 代码:

var userRoles = from u in db.UserRoles.Include(c => c.Customers)
select u;

然后我想使用我的客户列表进行过滤:

userRoles = userRoles.Where(.........);

我已经通过执行以下操作在查询定义中进行了过滤:

var userRoles = from u in db.UserRoles.Include(c => c.Customers)
where custList.contain(u.Customers.Name)
select u;

但出于设计目的,我需要在查询定义之后进行过滤。

4

2 回答 2

0
var userRoles = from u in db.UserRoles.Include(c => c.Customers)
var someRoles = userRoles.Where(........);
于 2013-03-04T17:24:45.003 回答
0

不确定我是否完全理解,但您可以将其拆分为两个查询:

var userRoles = from u in db.UserRoles.Include(c => c.Customers)
                select u;

然后在其他位置:

List<string> custList = new List<string> { "customer1", "customer2", "customer3" };

var custRoles = from u in userRoles
                where custList.Contains(u.Customers.Name)
                select u;
于 2013-03-04T17:32:12.980 回答