Entity framework 获取两个日期之间的总天数Linq C#

Entity framework 获取两个日期之间的总天数Linq C#,entity-framework,Entity Framework,我想使用带有实体框架6的Linq C#获得两个日期之间的总天数。我的问题是我需要where子句条件,并且发现很难减去日期。我运行下面的代码时出错。如有任何帮助,我们将不胜感激 var finalexams = report.Select(x => new ReportVieModel { EnglishDates = x.admin.mastertab

我想使用带有实体框架6的Linq C#获得两个日期之间的总天数。我的问题是我需要where子句条件,并且发现很难减去日期。我运行下面的代码时出错。如有任何帮助,我们将不胜感激

var finalexams = report.Select(x =>                 
                 new ReportVieModel
                {

                   EnglishDates = x.admin.mastertablebles.Where(d => d.EndDate == null).Select(s => DbFunctions.DiffDays(s.beginDate, DateTime.Today)),


                }).Distinct();

EnglishDate代表什么类型的数据

我看到的唯一条件是最终日期可以为null,我想这将返回多个值,您需要一个列表

我不明白您是否想要一个包含开始日期和天数的列表,因为您可以根据模型执行此操作:

型号:

public class ReportViewModel
{
    public DateTime? Date { get; set;  }

    public int? NumberDays { get; set; }
}
List<ReportViewModel> list = (from p in x.admin.mastertablebles
                              where p.EndDate == null
                              select new ReportViewModel() { Date = p.beginDate,  NumberDays = DbFunctions.DiffDays(p.beginDate, DateTime.Now) })
                             .Distinct().ToList();
var numberDays = (from p in x.admin.mastertablebles
                  where p.EndDate == null
                  select DbFunctions.DiffDays(p.beginDate, DateTime.Now))
                 .Distinct().ToList();
LINQ:

public class ReportViewModel
{
    public DateTime? Date { get; set;  }

    public int? NumberDays { get; set; }
}
List<ReportViewModel> list = (from p in x.admin.mastertablebles
                              where p.EndDate == null
                              select new ReportViewModel() { Date = p.beginDate,  NumberDays = DbFunctions.DiffDays(p.beginDate, DateTime.Now) })
                             .Distinct().ToList();
var numberDays = (from p in x.admin.mastertablebles
                  where p.EndDate == null
                  select DbFunctions.DiffDays(p.beginDate, DateTime.Now))
                 .Distinct().ToList();

你犯了什么错误?尝试在查询之前将
DateTime.Today
移动到变量中。该属性不会转换为SQL。