При использовании синтаксиса запроса в C# "Перечисление не дало результатов". Как получить вывод
Я создал этот запрос для получения некоторого результата из базы данных. Вот моя структура таблицы.
Какая точность происходит.
DtMapGuestDepartment в таблице 1
DtDepartment как Таблица 2
Используются
var dept_list= from map in DtMapGuestDepartment.AsEnumerable()
where map.Field<Nullable<long>>("GUEST_ID") == DRowGuestPI.Field<Nullable<long>>("PK_GUEST_ID")
join
dept in DtDepartment.AsEnumerable()
on map.Field<Nullable<long>>("DEPARTMENT_ID") equals dept.Field<Nullable<long>>("DEPARTMENT_ID")
select dept.Field<string>("DEPARTMENT_ID");
Я выполняю этот запрос к DataTables и ожидаю, что он вернет мне таблицу данных.
Здесь я хочу выбрать отдельный отдел из Таблицы 1, который будет моим следующим квестом. Пожалуйста, ответьте на это также, если это возможно.
1 ответ
Решение
Разбить ваш запрос на части и посмотреть, какая коллекция не имеет элементов.
var mapList = DtMapGuestDepartment.AsEnumerable().ToList();
var deptList = DtDepartment.AsEnumerable().ToList();
var queryResult1 = (
from map in mapList
where map.Field<Nullable<long>>("GUEST_ID") ==
DRowGuestPI.Field<Nullable<long>>("PK_GUEST_ID")
select map
).ToList();
var queryResult2 = (
from map in queryResult1
join dept in deptList
on map.Field<Nullable<long>>("DEPARTMENT_ID")
equals dept.Field<Nullable<long>>("DEPARTMENT_ID")
select dept.Field<string>("DEPARTMENT_ID")
).ToList();