通过比较两个日期时间来获取天数? Linq to Entity 中的对象使用 C#

Get number of days by comparing two datetime? objects in Linq to Entity using C#

你好,我正在开发一个控制台应用程序,我用它生成 excel sheet 数据来自 SQL 表,我有一个特定的要求,我必须包括天数比较两个日期时间? 属性,这是我到目前为止尝试过的方法

 var Result = (from a in Db.tbl_ApplicantMaster
                              join b in Db.tbl_App_Process on a.APP_ID equals b.APID
                              join c in Db.tbl_Process on b.ProcessID equals c.ID
                              join d in Db.tbl_Nationality on a.Nationality equals d.country_code
                              join e in Db.tbl_AgencyMaster on a.Agn_ID equals e.AgID orderby a.APP_ID
                              select new ExcelData
                              {
                                  Name = a.Name,
                                  AppId = a.APP_ID,
                                  ProcessName = c.Process,

                                 // No_of_Days =,
                                  StartDate = b.StartTime.ToString(),
                                  EndDate = b.EndTime.ToString(),
                                  Nationality = d.country_enName,
                                  Agency = e.AgencyName,

                                  No_of_Days = b.StartTime !=null && b.EndTime !=null? (Convert.ToDateTime(b.StartTime)- Convert.ToDateTime(b.EndTime)).Days : 0.0
}).ToList();

但是当我编写这段代码或任何其他代码来获取我的应用程序停止的天数而不给我任何错误消息时,我做错了什么?感谢您的帮助,非常感谢。

看起来应用不是 运行 因为 LINQ to entity 不支持 Convert 方法。我只需要使用 DbFunctions class.

No_of_Days = b.StartTime !=null && b.EndTime !=null? DbFunctions.DiffDays(b.StartTime, b.EndTime)  : 0

一切正常。