C# 如何在日期范围内搜索多个实体?
我有以下表格:C# 如何在日期范围内搜索多个实体?,c#,sql,linq,C#,Sql,Linq,我有以下表格: 公司历史记录:Id开始日期结束日期 客户历史记录Id公司Id开始日期结束日期 客户付款Id客户Id开始日期结束日期金额 我想为制作一份报告,以搜索特定日期范围内(第一天、结束天)的所有付款及其客户和公司 我只为CustomerPayment使用此代码,并且我必须为CustomerHistory和companyHistory表执行相同的操作 而且表现真的很差 有没有办法改进查询,或者我应该改变我的数据库设计 var payments= db.CustomerPayment.Wh
- 公司历史记录:Id开始日期结束日期
- 客户历史记录Id公司Id开始日期结束日期
- 客户付款Id客户Id开始日期结束日期金额
var payments= db.CustomerPayment.Where(s =>>
((firstDay <= s.EndDate && lastDay >= s.StartDate) &&
(lastDay <= s.EndDate || lastDay >= s.EndDate) &&
(firstDay > s.StartDate || firstDay < s.StartDate)) ||
((s.EndDate == null) && ((firstDay >= s.StartDate) ||
(firstDay <= s.StartDate && lastDay >= s.StartDate)));
var payments=db.CustomerPayment.Where(s=>>
((第一天=s.StartDate)和
(lastDay=s.EndDate)和
(第一天>s.StartDate | |第一天=s.StartDate)||
(第一天=开始日期);
var payments=db.CustomerPayment.Where(s=>>
(s.StartDate=firstDay | | a.EndDate==null));