Информация об изменениях

Сообщение Re: LINQ C# от 23.09.2020 20:57

Изменено 23.09.2020 21:44 Danchik

Re: LINQ C#
Здравствуйте, CyberRussia, Вы писали:

CR>Запутался с Linq.

CR>Стал писать что-то вида:
CR>
CR>                        query = from q1 in connectDBReport.VwAkkumulator
CR>                                join q2 in connectDBReport.Akknetincs
CR>                                on q1.Ticker equals q2.Ticker
CR>                                where q1.Dimenstion == q2.Dimenstion && q1.Year == q2.Year && q1.Quarterly == q2.Quarterly && q2.Netinccomdev > whereNetIncome
CR>                                select q1;
CR>

CR>где VwAkkumulator — представление в БД. Akknetincs — таблица. По сути данных соотношение один ко многим.
CR>При этом в результирующем наборе данных мне нужна выборка только из VwAkkumulator без повторяющихся данных (которые могли быть вызваны связью с Akknetincs и отношением один ко многими).

CR>Как правильно написать Linq ?


Могу дать еще и совет: думайте сначало как должен выглядеть SQL да так и пишите LINQ запрос

query = from q1 in connectDBReport.VwAkkumulator
   where connectDBReport.Akknetincs.Any(q2 => q1.Dimenstion == q2.Dimenstion && q1.Year == q2.Year && q1.Quarterly == q2.Quarterly && q2.Netinccomdev > whereNetIncome)
   select q1;
Re: LINQ C#
Здравствуйте, CyberRussia, Вы писали:

CR>Запутался с Linq.

CR>Стал писать что-то вида:
CR>
CR>                        query = from q1 in connectDBReport.VwAkkumulator
CR>                                join q2 in connectDBReport.Akknetincs
CR>                                on q1.Ticker equals q2.Ticker
CR>                                where q1.Dimenstion == q2.Dimenstion && q1.Year == q2.Year && q1.Quarterly == q2.Quarterly && q2.Netinccomdev > whereNetIncome
CR>                                select q1;
CR>

CR>где VwAkkumulator — представление в БД. Akknetincs — таблица. По сути данных соотношение один ко многим.
CR>При этом в результирующем наборе данных мне нужна выборка только из VwAkkumulator без повторяющихся данных (которые могли быть вызваны связью с Akknetincs и отношением один ко многими).

CR>Как правильно написать Linq ?


Могу дать еще и совет: думайте сначала как должен выглядеть SQL да так и пишите LINQ запрос

query = from q1 in connectDBReport.VwAkkumulator
   where connectDBReport.Akknetincs.Any(q2 => q1.Dimenstion == q2.Dimenstion && q1.Year == q2.Year && q1.Quarterly == q2.Quarterly && q2.Netinccomdev > whereNetIncome)
   select q1;