Запутался с Linq.
Стал писать что-то вида:
query = from q1 in connectDBReport.VwAkkumulator
join q2 in connectDBReport.Akknetincs
on q1.Ticker equals q2.Ticker
where q1.Dimenstion == q2.Dimenstion && q1.Year == q2.Year && q1.Quarterly == q2.Quarterly && q2.Netinccomdev > whereNetIncome
select q1;
где VwAkkumulator — представление в БД. Akknetincs — таблица. По сути данных соотношение один ко многим.
При этом в результирующем наборе данных мне нужна выборка только из VwAkkumulator без повторяющихся данных (которые могли быть вызваны связью с Akknetincs и отношением один ко многими).
Как правильно написать Linq ?
Здравствуйте, 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
&& q1.Ticker == q2.Ticker)
select q1;
Здравствуйте, Danchik, Вы писали:
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>>
D>D>query = from q1 in connectDBReport.VwAkkumulator
D> where connectDBReport.Akknetincs.Any(q2 => q1.Dimenstion == q2.Dimenstion && q1.Year == q2.Year && q1.Quarterly == q2.Quarterly && q2.Netinccomdev > whereNetIncome)
D> select q1;
D>
Забыл про q1.Ticker equals q2.Ticker.