Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 解构表达式<;Func<&燃气轮机&燃气轮机;并收集到一个.Intersect()中_C#_Linq - Fatal编程技术网

C# 解构表达式<;Func<&燃气轮机&燃气轮机;并收集到一个.Intersect()中

C# 解构表达式<;Func<&燃气轮机&燃气轮机;并收集到一个.Intersect()中,c#,linq,C#,Linq,我有一个MongoDB查询的抽象,通过它我可以传递一个表达式树来过滤从数据库检索到的文档。例如: var filterExpression = x => x.IsPublished && x.Topics.Contains("fish"); MyCollection.Get(filterExpression); 在实施这项计划时,我会: _collection.Find(filterExpression).ToListAsync(); 我还有一个假货,用于测试: Col

我有一个MongoDB查询的抽象,通过它我可以传递一个表达式树来过滤从数据库检索到的文档。例如:

var filterExpression = x => x.IsPublished && x.Topics.Contains("fish");
MyCollection.Get(filterExpression);
在实施这项计划时,我会:

_collection.Find(filterExpression).ToListAsync();
我还有一个假货,用于测试:

Collection.Where(expression.Compile());
现在我需要做一个交叉查询,比如给我所有发布的文档,以及关于“鱼”或“薯条”的主题

在mongo中,我必须使用:

Builders<TDAO>.Filter.AnyIn(setInDocument, setToIntersect)
Builders.Filter.AnyIn(setInDocument,setToIntersect)
如果参数具有以下类型:

Expression<Func<TDAO, IEnumerable<string>>> setInDocument
IEnumerable<string> setToIntersect
表达式集文档
IEnumerable setToIntersect
有没有一种方法可以从这些类型到交叉点,例如:


.Where(setInDocument.Intersect(setToIntersect).Any())

我假设
setInDocument
IEnumerable
,而不是
IEnumerable>
?oops;是的,很抱歉,
setInDocument
是文档中某个字段的表达式树。您的问题不清楚。为什么要在伪实现中使用
表达式
IEnumerable
?你不应该使用表达式树吗?我已经更新了我的问题@Albert