Sys*_*ska 5 .net c# linq mongodb mongodb-.net-driver
我正在使用Mongo LINQ驱动程序用于C#,效果很好.
排序很多属性,但这是一个我无法解决的问题,它可能很简单.
var identifierList = new []{"10", "20", "30"};
var newList = list.Where(x => identifierList.Contains(x.Identifier));
This is NOT supported ...
Run Code Online (Sandbox Code Playgroud)
所以我可以这样做:
var newList = list.Where(x => x.Identifier == "10" || x.Identifier == "20" || x.Identifier == "30");
Run Code Online (Sandbox Code Playgroud)
但由于列表是可变的......我该如何构建上述内容?还是有更好的选择吗?
该list
类型是IQueryable<MyCustomClass>
有关信息......这用作许多属性的过滤器.在SQL中我可以有一个父 - >子关系.但由于我不能作为主ID的父亲,我需要把所有的ID都拿出去,然后像这样构建它.
希望这是有道理的.如果需要,我会解释更多.
回答我自己的问题...... Mongo Sharp LINQ驱动程序有一个名为"In"的扩展方法,它完全符合我的需要.
然而,他们已经在1.5中实现了它,所以我们可以使用旧的方式:https://jira.mongodb.org/browse/CSHARP-462
var list = new []{"10", "10"};
search.Where(x => list.Contains(x.Id));
Run Code Online (Sandbox Code Playgroud)
但是版本1.5的软件包尚未在nuget上.
但是,这应该与"In"扩展一起使用,这对mongo-csharp驱动程序来说是一个特别的惊喜.
search.Where(x => x.In(list));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7411 次 |
最近记录: |