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

完全には理解できませんが、次の 2 つのクエリに分割できます。

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 に答える
0
var userRoles = from u in db.UserRoles.Include(c => c.Customers)
var someRoles = userRoles.Where(........);
于 2013-03-04T17:24:45.003 に答える