2010-01-24 1 views
1

Рассмотрите отчет в формах Windows, который использует Linq для объектов в качестве источника данных.LINQ: Остановить ленивую загрузку или свойства силы, которые необходимо загрузить

У меня есть объект с именем Loan с ассоциацией с именем Customer. Проблема в том, что когда я пытаюсь получить доступ к свойству .Customer в отчете, он возвращает пустую или пустую строку.

Я полагаю, что это из-за ленивой загрузки, но я не уверен, что буду честным. Есть ли способ решить эту проблему?

ответ

2

В вашем случае закрытие контекста данных приводит к нулевым значениям для данных, которые не были получены через соединение. Используйте DataLoadOptions для явного указания контексту для выполнения соединения:

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