Запрос Linq с выражением lamba
Я создаю SQL-запрос, теперь я пытаюсь преобразовать это в LINQ с лямбда выражением
select Catg_type.Catg_type,Program_type.Prog_name ,Year_info.year, COUNT(Std_info.catg_id) as total_students from Std_info inner join Catg_type on Std_info.Catg_id=Catg_type.Catg_id INNER join Program_type on Std_info.Prog_id=Program_type.Prog_id inner join Year_info on Std_info.year_id=Year_info.year_id where @year_p=Year_info.year group by Catg_type,Program_type.Prog_name,Year_info.year
Что я уже пробовал:
я пробую это
var query=a.Std_info .Join( a.Catg_type, catg=>catg.Catg_id, std=>std.Catg_id, (catg,std)=>new{catg=catg,std=std}) .Join( a.Program_type, pg=>pg.catg.Prog_id, pt=>pt.Prog_id, (pg,pt)=>new{pg=pg,pt=pt}) .Join( a.Year_info, yr=>yr.pg.catg.year_id, yi=>yi.year_id, (yr,yi)=>new{yr=yr,yi=yi}) .Select( s=>new{ Catg_type=s })
в этой части выберите (s= & gt;new{
Catg_type=з
})
когда я пишу s. а потом, когда я пытаюсь вызвать program_name, catg_type, year, то нет никаких имен
не могли бы вы помочь
OriginalGriff
"я думаю, что не правильно" не помогает нам - оно ничего не говорит нам о том, какую проблему вы испытываете.
Расскажите нам, что произошло: что он сделал такого, чего вы не ожидали, или не сделал того, что вы сделали? Как выглядят ваши входные данные и каков результат этих двух запросов?
Были ли какие-нибудь сообщения? Ошибки? Аварии?
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли.
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.
super_user
хорошо теперь я попробую это сделать
запрос ВАР=а.Std_info
.Присоединиться(а.Catg_type,catg=&ГТ;catg.Catg_id,СТД=&ГТ;СТД.Catg_id, (catg, std)= & gt;new{catg=catg, std=std})
.Присоединиться(а.Program_type,ПГ=&ГТ;ПГ.catg.Prog_id,пт=&ГТ;пт.Prog_id,(ПГ,ст)=>, новые{ПГ=ПГ,пт=пт})
.Присоединиться(а.Year_info,Ир=&ГТ;год.ПГ.catg.year_id,Йи=&ГТ;Йи.year_id,(г,ю)=>, новые{УГ=УГ,ух=ух})
. Выберите (s= & gt;new{
Catg_type=з
})
super_user
я эту часть .Выберите (s= & gt;new{
Catg_type=з
})
как я называю этот Catg_type.Catg_type, Program_type.Prog_name ,Year_info.год,
Richard Deeming
Вы должны быть в состоянии использовать что-то вроде:Catg_type = s.yi.pt.catg.Catg_type
Вы хотите сказать, что не получаете никаких элементов в списке Intellisense?
super_user
да