Наследование в MongoDb: как запрашивать экземпляры определенного типа

Вот как я использовал наследование в 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>

Это единственный подобный способ, который я нашел в MongoDb (MongoDb ссылка):

<code>var query = Query.EQ("_t", "Cat");
var cursor = collection.FindAs<Animal>(query);
</code>

Обратите внимание, что в последнем случае мне приходится иметь дело с дискриминатором (& quot; _t & quot;) и жестким кодом моего имени класса, что не совсем удобно и выглядит ужасно. Если я пропускаю запрос, я получаю исключение при попытке перечисления. Я что-то пропустил? Моим предложением был документ Db, в котором хранятся объекты «как есть». должен легко обрабатывать наследство.

Ответы на вопрос(5)

Ваш ответ на вопрос