У меня есть таблица со столбцами SchoolId, SchoolYearId и ItemId с уникальным ограничением для всех трех. Эта таблица полностью отображается в EF Core 6. На стороне C# я есть список кортежей, где каждый кортеж содержит 3 целых числа. По сути, каждый кортеж идентифицирует 0 или 1 строку в моей таблице. Я хочу выбрать из моей таблицы только те строки, в которых эти 3 целых числа точно совпадают.
Я хотел бы иметь возможность сделать это в запросе EF, а затем, далее, я бы хотелось бы иметь возможность добавить в запрос пару .Include(). Что-то вроде:
Код: Выделить всё
var items = dataContext.Items
.Where(item => [[[ some function that will match 1 tuple to 1 row ]]])
.Include(item => item.SomeOtherItems);
В мире до EF я бы создал параметр с табличным значением и присоединил его к своей таблице Item. И я знаю, что все еще могу сделать это, используя .RawSql() (или... в любом случае я знаю, что есть способ), но тогда я не знаю, как сопоставить необработанный вывод sql с объектом, который затем может можно использовать для получения SomeOtherItems.
Я мог бы выбирать строки по одной или выполнить запрос, используя параметр значения таблицы, который возвращал бы ItemIds (которые я мог бы затем используйте для запроса других объектов), но мне не нравится ни одно из этих решений.
Подробнее здесь:
https://stackoverflow.com/questions/787 ... or-each-ro