У меня есть 4 разные модели, из которых я извлекаю информацию для сетки в виде.Этот фрагмент кода является частью моего контроллера для моего действия индекса.У каждой модели есть репозиторий, partRepository, parts_comboRepository, vendor_partRepository и Manufacturer_partRepository, и я использую эти репозитории для сбора данных для моих объединений.
var nss_part_combo =
from o in parts_comboRepository.FindAll_Parts_Combos()
join parts in partRepository.FindAll_Parts()
on o.FK_Parts_ID_PARTS equals parts.ID_PARTS into joined_parts
from parts in joined_parts.DefaultIfEmpty()
join vendor_parts in vendor_partRepository.FindAllVendor_Parts()
on o.FK_Vendor_Parts_ID_VENDOR_PARTS equals vendor_parts.ID_VENDOR_PARTS into joined_vendor_parts
from vendor_parts in joined_vendor_parts.DefaultIfEmpty()
join manufacturer_parts in manufacturer_partRepository.FindAllManufacturer_Parts()
on o.FK_Manufacturer_Parts_ID_MANUFACTURER_PARTS equals manufacturer_parts.ID_MANUFACTURER_PARTS into joined_manufacturer_parts
from manufacturer_parts in joined_manufacturer_parts.DefaultIfEmpty()
select new NSS.ViewModel.Part_ComboViewModel
{
...
};
return View(new GridModel(part_combo));
При запуске я получаю сообщение об ошибке в разных контекстах.Я исправил проблему, объявив сущность в верхней части моего контроллера и используя ее вместо объектов репозитория, чтобы получить все мои IEnumerables для объединений.Это хороший способ сделать это?Я чувствую, что как-то отклонился от того, что я должен делать, и создал хак, чтобы исправить мою проблему.Какова была бы лучшая практика для решения этой проблемы?