Я делаю Dynamic Linq на основе строк и мне нужно применить вложенное предложение where.
Ответ здесь дает мне половину пути туда. Однако столбцы в двух таблицах имеют совпадающие идентификаторы. Мне нужно иметь возможность ссылаться через псевдоним или другой, как показано ниже:
rolesCollection
.Where("AssignedUsers.Where(AssignedUsers.TypId == rolesCollection.TypId).Any()");
Есть идеи, как этого добиться? У меня нет возможности передать объект, это должно быть чисто строковое решение в контексте обобщенного метода поиска API. Это всего лишь пример того, что мне нужно ... У меня нет возможности присоединиться или что-либо через код. Я ищу решение в строковой части примера кода.
В этом теоретическом примере объект AssignedUsers должен иметь коллекцию AssignedUsers_Typ, и вы можете просто ссылаться ниже, не ссылаясь на столбцы Typ из обеих таблиц.
rolesCollection.Where("AssignedUsers_Typ.Any()");
Я смог решить мою проблему, используя это решение.
Вы хотите что-то подобное;
rolesCollection = rolesCollection.Where(x => assignedUsers.Any(t => t.TypId == x.TypId)).ToList();