J'ai 3 tables dans ma base de données: InvoiceDetailLineType, InvoicingCategory, CalculationRule.Linq-to-entities La méthode Include ne charge pas les enregistrements associés
InvoiceDetailLineType a des clés étrangères pour InvoicingCategory et CalculationRule.
Je souhaite récupérer une liste de tous les objets InvoiceDetailLineType pour une catégorie donnée et inclure les objets CalculationRule et InvoicingCategory associés.
Voici ma méthode pour faire ceci:
public List<InvoiceDetailLineType> GetAllForCategory(InvoicingCategory category)
{
return (from InvoiceDetailLineType lineType in ContextHelper.Entities.InvoiceDetailLineType.Include("CalculationRule").Include("InvoicingCategory")
where lineType.InvoicingCategory.IdInvoicingCategory == category.IdInvoicingCategory
select lineType).ToList();
}
je me attends ce pour me donner ce que je dois, mais ce que je reviens est un objet dont CalculationRule est nul. J'ai vérifié que les clés étrangères sont correctement configurées et que les enregistrements existent dans la base de données, donc cela semble un peu étrange.
Ai-je raté quelque chose?
Merci d'avance.
MISE À JOUR: J'ai aussi découvert que le code d'origine fonctionne, tant que je ne précise pas explicitement le type de « type de ligne » comme InvoiceDetailLineType. Maintenant, je me demande pourquoi c'est :) –