MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Използване на C# MongoDB LINQ с дискриминатор

Когато работите с йерархия на полиморфен тип, вашата променлива за събиране и вашите LINQ заявки трябва да започват от гледна точка на базовия клас. Например, за да прочетете всички документи от тип А обратно от базата данни, трябва да напишете:

var collection = database.GetCollection<D>("mycol");
var query = collection.AsQueryable<D>().OfType<A>();
foreach (var a in query)
{
    // process document of type A
}

За целите на диагностиката можете да видите съответната нативна MongoDB заявка, като използвате:

var json = ((MongoQueryable<A>)query).GetMongoQuery().ToJson();

Обърнете внимание, че трябва да подадете заявка към MongoQueryable (не MongoQueryable), тъй като извикването на OfType() промени типа на IQueryable.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose версии:кога е безопасно да го деактивирате?

  2. Списък на PHP Mongo въпроси:Какво връща _construct, когато replicaSet е true?

  3. Mongoose, сортиране въз основа на чужд/попълнен ключ

  4. Най-лесният начин да копирате/клонирате екземпляр на документ от мангуста?

  5. Инсталиране на PHP 7 MongoDB клиент/драйвер?