Jag är inte 100% tydlig med dina krav. I din inledande rad bad du om poster "där inmatningsdatumintervallet ligger mellan två datumfält", men på raden "Ytterligare" antyder du att du inte vill returnera poster där startdatumet för mötet inte är lika slutdatumet för din inmatning. Jag ser det som två olika krav, så jag ger dig två olika frågor.
Den första frågan är:
from t1 in db.Appointments
where date1 >= t1.AppointmentStart
where date2 <= t1.AppointmentEnd
select t1;
Den andra frågan är:
from t1 in db.Appointments
where date2 > t1.AppointmentStart
where date1 < t1.AppointmentEnd
select t1;
Den första frågan returnerar poster som "innehåller" inmatningsdatumen.
Den andra frågan returnerar poster som "överlappar" inmatningsdatumen.
Jag tycker att det är mer meningsfullt att du vill ha överlappningsfrågan och den här kommer att uppfylla ditt krav "14:00 - 15:00 returnerar inte ett värde för 15:00-16:00".
Låt mig veta om jag har gjort ett misstag när jag förstår dina krav och behöver göra några ändringar.