如何使用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");
但这不起作用。抛出了一个ParseException,其中包含消息“没有适用的聚合方法'在哪里'存在”。
提前致谢。
答案 0 :(得分:6)
试试这个:
rolesCollection
.Where("AssignedUsers.Where(Name.FirstName == \"Patrick\").Any()");
或
var userName = "Patrick";
rolesCollection
.Where("AssignedUsers.Where(Name.FirstName == @0).Any()", userName);