MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Używanie C# MongoDB LINQ z dyskryminatorem

Podczas pracy z hierarchią typów polimorficznych zmienna kolekcji i zapytania LINQ powinny zaczynać się od klasy bazowej. Na przykład, aby odczytać wszystkie dokumenty typu A z bazy danych, byś napisał:

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

Do celów diagnostycznych możesz zobaczyć odpowiednie zapytanie natywne MongoDB za pomocą:

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

Zauważ, że musisz rzutować zapytanie na MongoQueryable (nie MongoQueryable), ponieważ wywołanie OfType() zmieniło typ IQueryable.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wyszukiwanie pełnotekstowe w mongodb w .net

  2. Przeszukaj wszystkie wielokąty zawierające szereg punktów w mongodb

  3. Jak wdrożyć MongoDB w celu zapewnienia wysokiej dostępności

  4. mongo używając mongoose w węźle chcesz użyć lub i w zapytaniu

  5. Node.js:niezdefiniowany dokument zwracający — Mongoose