2012-04-25 35 views
4

如何使用Dynamic Linq库(System.Linq.Dynamic)构建以下LINQ查询?如何使用动态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引发其中'存在'。

在此先感谢。

回答

6

试试这个:

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

var userName = "Patrick"; 
rolesCollection 
    .Where("AssignedUsers.Where(Name.FirstName == @0).Any()", userName); 
+1

它工作的感谢! – 2012-04-25 12:26:59

+0

你刚刚救了我!不能找出这个linq和文档并不完全。我在哪里可以了解更多关于它的查询? – Terkhos 2016-04-06 18:02:01

+1

查阅http://system-linq-dynamic-core.azurewebsites.net/html/a5ecbe15-aade-af7f-4860-6c5c412a34b4.htm上的文档+示例代码 – 2016-06-14 16:17:56