c# NHibernate e raccolta conta


1 Answers

Supponendo che tu abbia l'HBM corretto che Persona ha molti Subordinati puoi solo ottenere una persona e poi chiamare Subordinates.Count

Si tratta di un processo moderatamente dispendioso se tutto ciò di cui hai bisogno è il conteggio poiché popolerà completamente tutta la raccolta Subordinates per ottenere solo il conteggio. Penso che faresti meglio a creare un metodo che raccolga una Persona e ti restituisca un conteggio dei loro Subordinati e usi HQL per eseguire una funzione di conteggio reale. Se non è possibile eseguire una funzione di conteggio diretto, è possibile fare in modo che restituisca solo un singolo valore per subordinato corrispondente a FK Persona e quindi chiama. Lunghezza o .Count sulla raccolta restituita. Tuttavia, presumo che HQL possa essere in grado di contarlo direttamente per te.

c# nhibernate

Ho la seguente configurazione di classe per la persistenza usando NHibernate

public class Person
{
    public string Name { get; set; }
    public IList<Person> Subordinates { get; set; }
}

Ora dì che ho una griglia con due colonne, "Nome" e "Numero di subordinati" qual è il modo migliore per farlo in NHibernate, pur mantenendo l'uso di oggetti di dominio laddove possibile.

Grazie



Related