BigQuery в горната част получава набор от продукти и вложени свързани таблици. След това прилагам филтриране в лош опит за модел на спецификация. Това е кодът на филтъра. Има три таблици в заявката и искам да филтрирам горната заявка по стойността, вложена в долната заявка. Както казах, това в момента дава резултатите, които искаме.
Въпреки това, .Contains() създава клауза SQL WHERE EXISTS() за всеки. Наистина се нуждаем само от един, но не знам как да сравня вътрешния идентификатор с външния идентификатор.
from p in bigQuery // Root table
where ( from pp in p.LPP // Level 1 nested table
where (from pv in pp.LPV // Level 2 nested table
where pv.colorid == intValue // Our filter value
select p.id).Contains(p.id) // Where exists
select p.id).Contains(p.id) // Where exists
select p;
някакви мисли? Това създава SQL израз от 900 реда такъв, какъвто е, и досега имаме само един филтър.