Мне нужна помощь с запросом? У меня есть 2 заказаных таблиц & единиц среди других. Резервирование таблиц имеет столбцы ResId, rfrom (datetime), rto (datetime), status (int), UnitID (внешний ключ). Статус 2 означает его подтверждение. Мне нужно получить все свободные единицы в запрошенный период, запрос должен вернуть только те единицы, для которых не подтверждены оговорки (статус == 2) в запрошенный период (не существует). Я работаю с инфраструктурой сущности, поэтому он должен быть запросом eSQL (другой вариант использует хранимую процедуру, но я хочу избежать этого). База данных - sql express 2005. Также запрос должен фильтровать единицы измерения в зависимости от значений из табличных единиц, но это не проблема. Я могу сделать это с помощью linq по результатам запроса (несколько операторов where).Поиск свободных мест
редактировать: Этот запрос работает:
select * from Units where
not exists (select *
from Reservations
where Reservations.unitID = Units.unitID
and Reservations.status = 2
and (@datefrom between Reservations.rfrom and Reservations.rto-1
or @dateto between Reservations.rfrom+1 and Reservations.rto
or rfrom between @datefrom and @dateto-1
or rto between @datefrom+1 and @dateto))
and [email protected]
Как будет выглядеть в Entity SQL? Могу ли я сделать это с помощью linq? имена сущностей аналогичны именам таблиц.