我正在使用基于字符串的Dynamic Linq并且需要应用嵌套的where子句。
答案here让我走了一半。但是,两个表中的列具有匹配的ID。我需要能够通过别名或其他来引用,如下所示:
rolesCollection
.Where("AssignedUsers.Where(AssignedUsers.TypId == rolesCollection.TypId).Any()");
知道怎么做到这一点?我没有能力传递一个对象,这在一般的API搜索方法的上下文中必须纯粹是一个基于字符串的解决方案。这只是我需要的一个例子......我没有能力通过代码加入或任何东西。我在示例代码的基于字符串的部分中寻找解决方案。
答案 0 :(得分:0)
你想要那样的东西;
rolesCollection = rolesCollection.Where(x => assignedUsers.Any(t => t.TypId == x.TypId)).ToList();
答案 1 :(得分:0)
在这个理论示例中,AssignedUsers对象应该有一个AssignedUsers_Typ集合,您可以在下面引用它,而不必引用两个表中的Typ列。
rolesCollection.Where("AssignedUsers_Typ.Any()");
我能够使用此解决方案解决我的问题。