gpt4 book ai didi

c# - Mongodb,linq 驱动程序。如何使用变量或语句构造包含

转载 作者:IT老高 更新时间:2023-10-28 13:37:16 24 4
gpt4 key购买 nike

我正在使用适用于 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");

但是由于列表是可变的……我该如何构造上面的内容?还是有更好的选择?

listIQueryable<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));

但是 1.5 版本的包还没有在 nuget 上。

但是,这应该与 mongo-csharp-driver 带来的特别惊喜的“In”扩展一起使用。

 search.Where(x => x.In(list));

关于c# - Mongodb,linq 驱动程序。如何使用变量或语句构造包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10922998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com