Csharp/C#教程:从单独的列添加Entity Framework中的日期时间和时间分享


从单独的列添加Entity Framework中的日期时间和时间

我想得到所有尚未结束的事件

select * FROM [Events] where EndDate+cast(EndTo as datetime)>GETDATE() 

这是完美的。

这是我的价值( EndTo: 11:00:00.0000000, END DATE: 2016-05-26

我试过用

 var list = dbContext.Events .Where(e => e.EndDate + e.EndTo > DateTime.Now) .ToList(); 

而且我收到了一个错误

DbArithmeticExpression参数必须具有数字公共类型。

如何在Entity Framework中编写此查询?

这是因为您尝试使用TimeSpan添加DateTime ,这是不允许的。 为此,请尝试使用类似DateTime.AddSeconds(TimeSpan.TotalSeconds)

 var list= dbContext.Events .Where(e=>e.EndDate.AddSeconds(e.EndTo.TotalSeconds) > DateTime.Now) .ToList(); 

或者,如果这是LINQ to Entities:

 var list= dbContext.Events .Where(e=>EntityFunctions.AddSeconds(e.EndDate, e.EndTo.TotalSeconds) > DateTime.Now) .ToList(); 

编辑:

由于您的e.EndToNullable ,因此您应该使用其Value

 var list= dbContext.Events .Where(e=>e.EndDate.AddSeconds(e.EndTo.Value.TotalSeconds) > DateTime.Now) .ToList(); 

要么

上述就是C#学习教程:从单独的列添加Entity Framework中的日期时间和时间分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var list= dbContext.Events .Where(e=>EntityFunctions.AddSeconds(e.EndDate, e.EndTo.Value.TotalSeconds) > DateTime.Now) .ToList(); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/959543.html

(0)
上一篇 2021年11月23日
下一篇 2021年11月23日

精彩推荐