Vaše požadavky mi nejsou 100% jasné. V úvodním řádku jste požádali o záznamy, „kde vstupní rozsah dat spadá mezi dvě datová pole“, ale v řádku „Dodatečně“ naznačujete, že nechcete vracet záznamy, kde se datum zahájení schůzky nerovná datum ukončení vašeho vstupu. Považuji to za dva různé požadavky, takže vám dám dva různé dotazy.
První dotaz je:
from t1 in db.Appointments
where date1 >= t1.AppointmentStart
where date2 <= t1.AppointmentEnd
select t1;
Druhý dotaz je:
from t1 in db.Appointments
where date2 > t1.AppointmentStart
where date1 < t1.AppointmentEnd
select t1;
První dotaz vrátí záznamy, které "obsahují" vstupní data.
Druhý dotaz vrátí záznamy, které se „překrývají“ vstupní data.
Myslím, že dává větší smysl, že chcete dotaz na překrytí a tento splní váš požadavek „14:00 - 15:00 nevrací hodnotu pro 15:00-16:00“.
Dejte mi vědět, pokud jsem udělal chybu při pochopení vašich požadavků a je třeba provést nějaké změny.