【问题标题】:Time Defferance between two Times in LINQ to Entities?LINQ to Entities 中两个时间之间的时差?
【发布时间】:2015-01-20 18:58:13
【问题描述】:
var TimeNow = DateTime.Now.TimeOfDay;

var qq = from s in _EeHC_HrEntities.TransactionsSecretaries
         where (EntityFunctions.CreateTime(s.TransactionTime.Hours,
                                           s.TransactionTime.Minutes,
                                           s.TransactionTime.Seconds) >
                EntityFunctions.CreateTime(TimeNow.Hours,
                                           TimeNow.Minutes,
                                           TimeNow.Seconds))

我想比较两次并显示dataebase中data.time的数据> DateTimeNow.time但结果显示不正确

【问题讨论】:

  • Entity Framework 并不真正运行您的查询,而只是根据您的查询表达式创建 SQL 查询。尝试简化表达式,为了测试,尝试做一个简单的where (s.TransactionTime.Minutes > 30)
  • 使用 > 不好尝试在比较时间时使用>=.. 也不要使用Between 你会得到巨大的UnExpected Results

标签: c# entity-framework linq-to-entities


【解决方案1】:
**becouse th 24 hours convert to 12 hours it will work thanx for answers** 

var TimeNow = DateTime.Now.TimeOfDay;
    var TimeHourNow = (TimeNow.Hours < 12) ? TimeNow.Hours : (TimeNow.Hours - 12);


var qq = from s in _EeHC_HrEntities.TransactionsSecretaries
         where (EntityFunctions.CreateTime(s.TransactionTime.Hours, s.TransactionTime.Minutes, s.TransactionTime.Seconds) > EntityFunctions.CreateTime(TimeHourNow, TimeNow.Minutes, TimeNow.Seconds))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多