将IQueryable引用应用于另一个对象

时间:2016-06-04 13:56:09

标签: c# entity-framework linq

我有下一个代码:

var list1 = server1Products; // server1Products is List<Product> type
var list2 = server2Products; // server2Products is List<Product> type
//
// get a queryable reference from first variable (list1)
var query = list1.AsQueryable();
//
// apply any filter
query = query.Where(p => p.Active == true);
//
// get result from first list server1Products
var result1 = query.ToList();

我需要应用 SAME&#34;查询&#34;参考对变量&#34; list2&#34;。

var result2 = ??????????????; // result from server2Products list

有可能吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望将同一过滤器应用于其他列表,这样您只能获得list2中的有效产品。你可以这样做:

Expression<Func<Product, bool>> expr = p => p.Active;
var result1 = list1.AsQueryable().Where(expr);
var result2 = list2.AsQueryable().Where(expr);

此处调用AsQueryable()方法是正确的,因为其他方式C#无法正确解析正确的方法。