[Homework] Problem 3. Database Search Queries, Entity Framework - Как да вземем само това, което ни трябва от ICollection връзка
Колеги, мъча трета задача, първото подусловие на домашното Entity Framework. Измислих следното работещо решение:
http://pastebin.com/uEU34S7K
Хубавото е, че изпращам само една заявка според SQL Profiler. Макар че не знам точно защо. Предполагам, че това
-
Select(e => new
-
{
-
e.FirstName,
-
e.LastName,
-
e.Projects,
-
ManagerName = e.Managers.FirstName + " " + e.Managers.LastName
-
})
зарежда целите проекти, не само референциите към тях. Не ми е съвсем ясно как работи Lazy loading в случая.
Това, което ме дразни, е, че за всеки служител взема всички проекти, не само тези, които ни трябват. Опитах да направя на пети ред нещо като e.Projects.Where(e => e.StartDate...), но не ми дава. Разбира се, мога да направя филтъра при печатането, но не е това идеята. Искам към employees да закача само тези проекти, които ни трябват, не да дърпам всичко.
Другият ми въпрос - искам от проектите да изтегля само име, дата на започване и дата на приключване, а не цялата информация за проекта. Но отново не мога да вложа селект в селекта. Някой има ли идея как да го направя?
Погледни решението в Пейстбин 4-5 ред:
Извинявай, мое недоглеждане. ;)