MongoDB C#LINQ序列化错误

MongoDB C#LINQ序列化错误,linq,mongodb,Linq,Mongodb,我有一个类AttributeValue,包含两个字符串字段: string DataType string Category 我的mongo查询如下: var test19 = _repo.All().Where(p => p.Rule.Any(r => r.Target.AnyOf.Any(an => an.AllOf.Any(av => av.Match != null && policyFilters2.Contains(string.Conca

我有一个类
AttributeValue
,包含两个字符串字段:

string DataType
string Category
我的mongo查询如下:

var test19 = _repo.All().Where(p => p.Rule.Any(r => r.Target.AnyOf.Any(an => an.AllOf.Any(av =>  av.Match != null && policyFilters2.Contains(string.Concat(av.Match.AttributeValue.DataType, av.Match.AttributeValue.Category))))));
其中policyFilters2是
列表

上面的查询给了我一个错误:

“无法确定表达式的序列化信息: String.Concat(av.Match.AttributeValue.DataType, av.Match.AttributeValue.Category

我不知道需要做些什么来解决这个问题


非常感谢您提供的任何帮助。

我认为MongoDB无法对这样的串联值进行搜索。尝试在一个字段中分别连接这两个字段,然后尝试查询。

最终,我必须使用逻辑and搜索这两个字段,而不是连接,Junaid,u r right。Mongo C#驱动程序无法将类属性上的字符串concat转换为等效的Mongo查询。另一个选项是具有Bson属性。但由于这些类位于业务层,所以我不想用属性来装饰它们。因此,我正在部分过滤数据,然后在内存中进一步过滤。@RashmiPandit如果我回答了您的问题,请向上投票并标记为答案。:-)除非基础数据以连接格式存储,否则连接也不起作用