Je suis mauvais en maths, mais j'ai en quelque sorte se faire une idée de ce que produit cartésien est.
Voici ma situation (simplifié):
public class Project{
public IList<Partner> Partners{get;set;}
}
public class Partner{
public IList<PartnerCosts> Costs{get;set;}
public IList<Address> Addresses{get;set;}
}
public class PartnerCosts{
public Money Total{get;set;}
}
public class Money{
public decimal Amount{get;set;}
public int CurrencyCode{get;set;}
}
public class Address{
public string Street{get;set;}
}
Mon but est effectivement de charge tout le Projet.
Le problème est bien sûr:
- Si j'essaie d'désireux de charge des partenaires et de leurs coûts, la requête renvoie gazillion lignes
- Si je lazy load Partenaire.Les coûts, db reçoit demande des envois en nombre (qui est un peu plus rapide que la première approche)
Comme je l'ai lu, commune de la solution de contournement consiste à utiliser MultiQueries, mais j'ai en quelque sorte un juste ne pas l'obtenir.
Donc, je suis l'espoir d'apprendre par le biais de cet exemple précis.
Comment charger ensemble du Projet?
P. s. Je suis l'aide de NHibernate 3.0.0.
S'il vous plaît, ne postez pas de réponses avec hql ou chaîne façonné critères api approches.