A partir de là:Comment utiliser LINQ pour récupérer collection enfant
public class Customer
{
public int CustomerID { get; set; }
public string CustomerName { get; set; }
public IList<Order> Orders { get; set; }
}
public class Order
{
public int OrderID { get; set; }
public int CustomerID { get; set; }
}
Quelle serait la requête LINQ que vous écrivez pour récupérer toutes les commandes de tous les clients?
Quelque chose à l'effet de:
IList<Order> orders = new List<Order>();
foreach (Customer c in Customers)
{
orders.Union(c.Orders);
}
j'ai essayé ce qui suit, mais il lance une "collection NHibernate n'était pas une association" exception:
var orders = from c in Customers
select c.Orders;
Je sais que je manque quelque chose, mais je ne peux pas trouver un moyen d'y parvenir en linq.
J'ai essayé aussi, toujours obtenir le Error: collection n'était pas une association: Commandes. –
Assurez-vous que nhibernate est conscient de l'association entre Client et Commande. Je parie qu'il y a un fichier XML quelque part qui nécessite une falsification. –
J'ai essayé de jouer avec le fichier de mappage xml nhibernate sans succès jusqu'à présent. J'utilise l'entité pour l'objet Client et l'entité de collecte pour les commandes. Il y a différentes façons de configurer la relation (clé, un-à-plusieurs, clé-étrangère, élément-composite, etc.), certains travaillent ensemble mais d'autres pas ... Je posterai quelque chose quand je comprendre celui-là. Merci du coup de main jusqu'à présent. –