Herança no MongoDb: como solicitar instâncias do tipo definido
Foi assim que usei a herança no Entity Framework (POCO):
<code>ctx.Animals // base class instances (all instances) ctx.Animals.OfType<Cat> // inherited class Cat's instances only ctx.Animals.OfType<Dog> // inherited class Dog's instances only </code>
Esta é a única maneira semelhante que encontrei no MongoDb (Referência MongoDb):
<code>var query = Query.EQ("_t", "Cat"); var cursor = collection.FindAs<Animal>(query); </code>
Note no último caso eu tenho que lidar com discriminador ("_t") e codificar o nome da minha classe, que não é muito conveniente e parece horrível. Se eu perder a consulta, recebi uma exceção na tentativa de enumeração. Eu perdi alguma coisa? Minha sugestão era que o documento Db, que armazena objetos 'como está', deveria manipular a herança com facilidade.