2010-01-24 5 views
1

Considérez un rapport dans les formulaires Windows qui utilise Linq to Objects en tant que source de données.LINQ: Arrête le chargement paresseux ou force propriétés à charger

J'ai une entité nommée Loan avec une association nommée Customer. Le problème est que lorsque j'essaie d'accéder à la propriété .Customer dans un rapport, il renvoie une chaîne vide ou vide. Je suppose que c'est à cause du chargement paresseux mais je ne suis pas sûr d'être honnête. Y a-t-il un moyen de résoudre ce problème?

Répondre

2

Dans votre cas, la fermeture du contexte de données conduit à des valeurs nulles pour les données qui n'ont pas été récupérées via une jointure. Utilisez les DataLoadOptions pour dire explicitement le contexte d'effectuer une jointure:

using(var yourDataContext = .....) 
{ 
    DataLoadOptions dlo = new DataLoadOptions(); 
    dlo.LoadWith<Loan>(loanRecord => loanRecord.Customers); 
    yourDataContext.LoadOptions = dlo; 
    //write code to retrieve data 
} 
Questions connexes