4

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

var roles = rolesCollection.Where(r => r.AssignedUsers.Where(u => u.Name.FirstName == "Patrick").Count() > 0);

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

我正在考虑做这样的事情:

rolesCollection.Where("AssignedUsers.Where(\"Name.FirstName == 'Patrick'\").Count() > 0");

但这不起作用。引发带有消息“没有适用的聚合方法 'Where' 存在”的 ParseException。

提前致谢。

4

1 回答 1

7

试试这个:

rolesCollection
    .Where("AssignedUsers.Where(Name.FirstName == \"Patrick\").Any()");

或者

var userName = "Patrick";
rolesCollection
    .Where("AssignedUsers.Where(Name.FirstName == @0).Any()", userName);
于 2012-04-25T11:38:49.807 回答