У меня есть 2 таблицы A {int id, int grp}, B {int aid, int cat}.
Таблица B содержит список категорий, к которым относится запись таблицы A, поэтому B.aidВнешний ключ, который ссылается на A.id.
A.id - уникальный первичный ключ таблицы A.
B.cat содержит номер категории от 1 до 5, A.grp содержит числа от 1 до1000.
Таблица A содержит 3 миллиона записей, таблица B - около 5 миллионов.
Для каждой группы A.grp мне нужно рассчитать% записей в A, которые содержат B.cat outколичества записей в группе A.grp.
Так что если A: [{1,1}, {2,1}, {3,2}], B: [{1,3}, {1,4}, {2,3}, {3,4}], тогда результатом запроса должна быть следующая таблица из 3 столбцов: R {int grp, int cat, double процент}: [{1,3,100}, {1,4,50}, {2,4,100}]
Как я могу сделать это с одним единственным запросом в Linq?
Желательно, чтобы A появлялся только один раз в этом запросе, потому чтоЯ хочу иметь возможность заменить A на A.Where (e => некоторое сложное выражение), не дублируя его много раз в этом пении.le query.
Таблицы A и B импортируются в Linq для сущностей с внешними ключами, чтобы можно было ссылаться на from a in A from b in a.B select b.cat
или from b in B select b.A.grp