Времени искать в LINQ в C#
у меня есть история изменения зарплаты сотрудника
и нужно найти какова зарплата за искомый период например
заработная плата была изменена в следующие даты
08/03/2017 он был 2200 US и стал 2300
24/12/2018 он был 2300 США и стал 2400
25/12/2018 он был 2400 США и стал 2300
17/02/2019 он был 2300 США и стал 2400
если бы я искал зарплату в период с 26/01/2017 в 25/02/2017 я ожидаю, что результат будет 2200
если бы я искал зарплату в период с 26/02/2017 в 25/03/2017 я ожидаю, что результат будет 2300
если бы я искал зарплату в период с 26/11/2018 - 25/12/2017 я ожидаю, что результат будет 2400
если бы я искал зарплату в период с 26/12/2018 - 25/01/2019 я ожидаю, что результат будет 2300
проблема с моим кодом c# в том, что он возвращает все даты с 08/03/2017 по 17/02/2019
в любой период из искомых периодов выше
мне нужны вышеуказанные ожидаемые результаты что я могу сделать чтобы получить правильный результат
Что я уже пробовал:
var dbitem = db.tblSalaryHistories.Where(c => c.Employee_ID == employeeId && ( (startDate <= c.Update_Date && endDate >= c.Update_Date) || (startDate >= c.Update_Date && endDate <= c.Update_Date) || (startDate <= c.Update_Date) ))