Подзапрос сущностей LINQ 2 с исключением (не в) и условием
У меня есть эта структура базы данных
EVENT
--- EVENTID (PK)
EVENTSEMINAR
--- EVENTID (PFK)
--- SEMINARID (PFK)
SEMINAR
--- SEMINARID (PK)
SEMINARCLASS
--- SEMINARID (PFK)
--- CLASSID. (PK)
--- Date
Я хочу получить список всех семинаров (включая их классы), которые не связаны с событием и проводятся после определенной даты.
Select *
from Seminar, SeminarClass
Where (Seminar.SeminarId not in (select SeminarId
from EventSeminar)
and seminar.SeminarId = SeminarClass.SemianrId
and SeminarClass.Date > something);
Как я могу перевести это на LINQ 2 Entities?
(такой сущности как EventSeminar нет, так как это только свойство навигации)
попытка достичь этого с помощью нескольких запросов доставила мне некоторые проблемы, так как я не могу использовать свой результат в качестве параметра для ожидания 2-го числа... нужно преобразование, которого я не знаю, как добиться:
var Seminars = from e in context.Event
.Include("Seminar")
.Where(x=>x.Seminar != null)
select e.Seminar;
var SC = from c in context.Seminar.Except(Seminars) select c;
Нужна помощь...
1 ответ
var q = from s in context.Seminars
where s.Date > something
&& (!s.Events.Any())
select s;
Вы не показываете свойство навигации в Seminar
для навигации по EventSeminar
в Event
поэтому замените его в вышеприведенном, если я угадал.