Saat bekerja dengan hierarki tipe polimorfik, variabel koleksi dan kueri LINQ Anda harus dimulai dari kelas dasar. Misalnya, untuk membaca kembali semua dokumen tipe A dari database, Anda akan menulis:
var collection = database.GetCollection<D>("mycol");
var query = collection.AsQueryable<D>().OfType<A>();
foreach (var a in query)
{
// process document of type A
}
Untuk tujuan diagnostik, Anda dapat melihat kueri MongoDB asli yang sesuai menggunakan:
var json = ((MongoQueryable<A>)query).GetMongoQuery().ToJson();
Perhatikan bahwa Anda harus melemparkan kueri ke MongoQueryable (bukan MongoQueryable