2

私には実体があります。

class Something{
   public List<string> Tags {get;set;}
}

次に、タグを指定していないすべてのエンティティをクエリする必要があります。

var res = s.Query<Something>()            
           .Where(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");

...それは単に何も返しません。

そのようなクエリを書く方法は?

4

2 に答える 2

5

There is an In extension method that you can use, which will also work with a !

于 2011-04-25T17:40:34.873 に答える
1

解決策は簡単です:

var res = s.Advanced.LuceneQuery<Something>()
  .Where("Tags:(* -Test3)");
于 2011-04-25T09:03:09.547 に答える