如何使用动态LINQ库构建嵌套查询

Pat*_*aar 4 c# linq dynamic-linq .net-3.5

如何使用Dynamic Linq库(System.Linq.Dynamic)构建以下LINQ查询?

var roles = rolesCollection.Where(r => r.AssignedUsers.Where(u => u.Name.FirstName == "Patrick").Count() > 0);
Run Code Online (Sandbox Code Playgroud)

rolesCollection和AssignedUsers是实现IEnumerable接口的集合.

我在考虑做这样的事情:

rolesCollection.Where("AssignedUsers.Where(\"Name.FirstName == 'Patrick'\").Count() > 0");
Run Code Online (Sandbox Code Playgroud)

但这不起作用.抛出一个ParseException,其中包含消息"无适用的聚合方法'在哪里'存在".

提前致谢.

Adr*_*ode 6

试试这个:

rolesCollection
    .Where("AssignedUsers.Where(Name.FirstName == \"Patrick\").Any()");
Run Code Online (Sandbox Code Playgroud)

要么

var userName = "Patrick";
rolesCollection
    .Where("AssignedUsers.Where(Name.FirstName == @0).Any()", userName);
Run Code Online (Sandbox Code Playgroud)