【发布时间】:2012-06-06 22:07:30
【问题描述】:
我正在使用 C# 的 Mongo LINQ 驱动程序,效果很好。
对很多属性进行排序,但这是一个我无法解决的问题,它可能很简单。
var identifierList = new []{"10", "20", "30"};
var newList = list.Where(x => identifierList.Contains(x.Identifier));
This is NOT supported ...
所以我可以这样做:
var newList = list.Where(x => x.Identifier == "10" || x.Identifier == "20" || x.Identifier == "30");
但是由于列表是可变的……我该如何构造上面的内容?还是有更好的选择?
list 的类型是 IQueryable<MyCustomClass>
有关信息...这被用作许多属性的过滤器。在 SQL 中,我可以有一个父 -> 子关系。但由于我不能作为主 ID 的父级,我需要取出所有 ID,然后像这样构造它。
希望这是有道理的。如果需要,我会解释更多。
【问题讨论】:
-
你想做什么?查找列表是否包含另一个列表中的所有项目?您上面的代码(修复后)将使 newList 上的项目与列表中的项目相同
-
Ups,示例中的错误,将解决这个问题:-)
-
还是……不清楚。尝试用简单的语言解释您要通过两个列表操作实现的目标。例如:我想将 identifierList 复制到 newList (我可以从上面的代码中假设)
-
添加了更多信息。也许应该明确指出第一个
list是复杂元素(类而不是字符串),因此是 Identifier 属性。
标签: c# .net linq mongodb mongodb-.net-driver