次の形式の LINQ クエリを実行しようとすると、次のようになります。
MongoCollection<MyEntity> collection;
collection.AsQueryable().Where(entity =>
(entity.Flags & MyFlags.AFlag) != MyFlags.None);
私ArgumentException
はメッセージでUnsupported where clause: ((Int32)((Int32)entity.Flags & 4) != 0).
これは既知のバグ/機能ですか?
回避策はありますか?
ドキュメントから、MongoDB にはビットごとの更新があるようですが、ビットごとのクエリはないようです。
比較のために、ServiceStack をクライアントとして使用して、同じクエリが Redis 上でスムーズに実行されます。
JavaScript の使用を示唆するこれら 2 つのリンク ( link1 、 link2 ) を見つけましたが、サービス層の実装が DB テクノロジに大きく依存するようになります。