Я использую Entity Framework 4.
У меня есть 2 объекта: объект процесса и объект ProcessDescription. Между процессом и описанием процесса существует однозначная связь (у процесса всегда есть описание процесса)
Я делаю следующее:
using (EFEntities ef = new EFEntities(ConnectionString.EFConnString))
{
var source = ef.Process;
List<BusinessLayer.Process> processList = source.ToList();
}
После оператора ToList, если я проверяю processList в отладчике, я вижу, что объект ProcessDescription доступен для каждого процесса, и мне интересно, почему. Я думал, что мне нужно написать .Include ("ProcessDescription"), чтобы включить их. Это автоматически загружается, потому что это взаимно-однозначная ассоциация?
Обновление: EnableLazyLoading действительно имеет значение true. Мой вопрос: если это свойство установлено в true, я думал, что связанные объекты будут загружены, но только при необходимости. Чтобы проверить, загружен ли он, мы можем использовать флаг IsLoaded на связанных объектах. Однако в моем случае в объекте ProcessDescription отсутствует свойство IsLoaded. Означает ли это, что когда я выполняю ToList (), происходит внутреннее соединение, которое выполняется автоматически, опять же, потому что это отношение один к одному?