LINQ for CRM如何在where子句中使用C#list

use*_*510 3 .net c# linq dynamics-crm linqpad

我需要在LINQ where子句中使用C#列表.我可以在where子句中使用一个值进行查询,请指导如何在LINQ查询中使用C#列表.

以下是我的代码:

var usersList= new List<string>();

usersList.Add("User1");
usersList.Add("User2");

(from u in UserSet
where u.FullName.Equals("any user from usersList")
select u.FullName).Take(3).Dump();
Run Code Online (Sandbox Code Playgroud)

基本上如何告诉LINQ检查每个值 usersList

编辑:我正在做这个LINQ for CRM

谢谢

AAA*_*ddd 6

您可以使用 Contains

var usersList= new List<string>();
usersList.Add("User1");
usersList.Add("User2");

...

(from u in UserSet
where usersList.Contains(u.FullName)
select u.FullName).Take(3)
Run Code Online (Sandbox Code Playgroud)

Enumerable.Contains方法(IEnumerable,TSource)

使用默认的相等比较器确定序列是否包含指定的元素.

更新

我无法看到在内存列表中使用Contains的方法.但是,如果用户列表不是太大,您可以在内存中执行此操作

var results  = (from u in UserSet
               select u.FullName);

var results (from r in results
             where usersList.Contains(r)
             select r).Take(3);
Run Code Online (Sandbox Code Playgroud)

必须有更好的方法.