【问题标题】:通过比较两个日期时间来获取天数?使用 C# 在 Linq to Entity 中的对象 [已解决]
【发布时间】:2022-01-22 07:15:12
【问题描述】:

嗨,我正在开发一个控制台应用程序,我用它生成带有 SQL 表数据的 Excel 表,我有一个特定的要求,我必须通过比较两个日期时间来包含天数?财产,这是我到目前为止尝试过的

 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();

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

【问题讨论】:

标签: c# sql-server asp.net-mvc entity-framework linq-to-entities


【解决方案1】:

应用似乎没有运行,因为 LINQ to entity 不支持 Convert 方法。我只需要使用 DbFunctions 类。

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

这是完美的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多