В текущем проекте MVC4.0 я использую Структуру Предприятия 4.1 Базы данных первая модель.
Часть этой структуры включает следующие таблицы
compGroupData
SurveyData
SecondaryData
к compGroupData и SurveyData не присоединяются в базе данных
SecondaryData соединен с SurveyData на связи "один к одному" через Внешний ключ SurveyData.surveydatakey = SecondaryData.surveydatakey
В моем проекте у меня есть класс ComparisonWithData, определенный как:
public class ComparisonWithData
{
public compGroupData compgrp { get; set; }
public SurveyData surveydata { get; set; }
public ComparisonWithData()
{
compgrp = new compGroupData();
surveydata = new SurveyData();
}
}
Это дает мне набор результатов для определенной группы Сравнения и данных, которые соответствуют этому.
В прошлом я восстановил данные для этого через следующий вопрос:
List comparisonwithdata = ((from compgrp in db.compGroupDatas
where compgrp.grpYear == rptyear && compgrp.CompGroupID == ccompgrp.CompGrpID
join surveydata in db.SurveyDatas on new { compgrp.companyid, SurveyYear = (Int32)compgrp.SurveyYear } equals new { companyid = surveydata.companyid, SurveyYear = surveydata.surveyyear }
select new ComparisonWithData
{
compgrp = compgrp,
surveydata = surveydata,
}
)).ToList();
С недавним изменением в данных я теперь должен также сослаться на SecondaryData, но из-за количества отчетов действительно нуждаются в этом, чтобы загрузить Нетерпеливо вместо Ленивого. (Ленивая погрузка во время петли приводит к тысячам требований DB),
Я посмотрел на использование "Включать" метода на surveydata, а также кастинге начального вопроса как ObjectQuery и выполнение Включать от этого.
Первый метод не делает нетерпеливого груза, и второй метод, кажется, всегда возвращает несуществующий объект в результате.
Есть ли метод к Нетерпеливому грузу SecondaryData для SurveyData или если я посмотреть на другой подход все вместе.
Мое единственное ограничение на это - то, что я не могу подойти к EF5 из-за ограничения, которое мы имеем на.Net 4.5
Любая помощь значительно ценилась бы.
Спасибо.