Mongodb, linq driver. How to construct Contains with variable or statements

只愿长相守 提交于 2019-12-01 05:59:05

To answer my own question ... The Mongo Sharp LINQ driver has an extension method called "In" which does exactly what I need.

They have however implemented it in 1.5 so we can use the old way like: https://jira.mongodb.org/browse/CSHARP-462

 var list = new []{"10", "10"};

 search.Where(x => list.Contains(x.Id));

But the version 1.5 package is not on nuget yet.

However, this should work with the "In" extension that comes as a special surprise with the mongo-csharp-driver.

 search.Where(x => x.In(list));
var identifierList = new []{"10", "20", "30"};
var newList = list.ToList().Where(x => identifierList.Contains(x.Identifier));

You will just have to use List instead of Ienumerable (do that by using the .ToList())

If it doesn't work please add your list TYPE

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!