Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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# RavenDb中的子列表中不包含_C#_Ravendb - Fatal编程技术网

C# RavenDb中的子列表中不包含

C# RavenDb中的子列表中不包含,c#,ravendb,C#,Ravendb,我有实体 class Something{ public List<string> Tags {get;set;} } 分类{ 公共列表标记{get;set;} } 现在我需要查询所有没有给定标记的实体 var res = s.Query<Something>() .Where(x => !x.Tags.Any(t => t == "Test3")); var res=s.Query() 其中(x=>!

我有实体

class Something{
   public List<string> Tags {get;set;}
}
分类{
公共列表标记{get;set;}
}
现在我需要查询所有没有给定标记的实体

var res = s.Query<Something>()            
           .Where(x => !x.Tags.Any(t => t == "Test3"));
var res=s.Query()
其中(x=>!x.Tags.Any(t=>t==“Test3”);
在以下情况下失败:

未处理的异常: System.InvalidCastException:无法删除 类型的强制转换对象 'System.Linq.Expressions.MethodCallExpressionN' 打字 'System.Linq.Expressions.MemberExpression'

普通查询也不起作用:

var res = s.Advanced.LuceneQuery<Something>()
           .Where("-Tags:Test3");
var res=s.Advanced.LuceneQuery()
其中(“-Tags:Test3”);
。。。它什么也不返回

如何编写这样的查询?

解决方案很简单:

var res = s.Advanced.LuceneQuery<Something>()
  .Where("Tags:(* -Test3)");
var res=s.Advanced.LuceneQuery()
其中(“标签:(*-Test3)”);

您可以使用一个In扩展方法,该方法也可以用于

没有lucene有办法做到这一点吗?