「タグ」のリストを含むドキュメント クラスがあります。何かのようなもの:
class Item {
string Name { get; set; }
List<string> Tags {get; set;}
}
ここで、タグのリストでフィルタリングされたすべてのアイテムを渡す RavenDB のクエリを作成したいと思います。Entity Framework を使用する場合、次のような方法でこれを行うことができました。
var query = GetQueryable();
foreach (var tag in tags)
{
query = query.Where(i => i.Tags.Contains(tag));
}
ただし、これは RavenDB では機能しないようです。おそらく、Contains がサポートされていないためですWhere(i => i.Tags.Any(t=>t == tag))
。
Unable to cast object of type
'System.Linq.Expressions.PrimitiveParameterExpression`1[System.String]'
to type 'System.Linq.Expressions.MemberExpression
素晴らしいアイデアはありますか?私はこれを完全に間違っていますか?