我首先使用C# MVC EF代码,其中我有一个Linq表达式,如下所示:
var data = new SchedulerAjaxData(new GTOpel().mxes.Select(e => new
{
id = e.nkeyid,
text = e.texto,
start_date = e.data,
end_date = e.data
})
);我现在的问题是:我有一个DateTime字段(数据),它有我想要的日期,但它使用默认时间(00:00:00.000)。
我在这个字段中得到的格式类似于“YYYY dd HH:mm:ss.fff”。
我有一个时间字段( hinicio ),它是一个字符串,而不是DateTime/TimeSpan -我想将hinicio添加到数据中--让我们给hinicio提供一个示例值,比如"13:00",因为这是DB用于字符串的格式(“HH:mm”)。
最后,这就是我想要得到的:"2016-01-01 13:00:00.000“
既然我们讨论的是一个DateTime和一个字符串,那么在我前面提到的IQueryable表达式中是否有一种合理的方法来格式化这两个值?
如果不是,在选择方法上使用值之前,我应该如何格式化我的值?
更新/详细信息:
对于那些可能对此感到好奇的人来说,对Scheduler库来说,变量id、text、start_date和end_date是必需的,所以我可以看到我已经得到的事件。
这个Scheduler是我正在使用的模板,现在我尝试用我的DB来实现它。
更多信息请访问:http://docs.dhtmlx.com/scheduler/
提前感谢并致以最良好的问候,
格拉尼维奇
发布于 2016-04-12 14:39:59
您必须将hinicio值转换为TimeSpan,然后将其添加到data中。
要在Linq中对实体执行此操作,必须使用DbFunctions和SqlFunctions类。
如果hinicio看起来像hh:mm,那么查询应该如下所示:
var data = new SchedulerAjaxData(new GTOpel().mxes.Select(e => new
{
...
start_date = DbFunctions.AddMinutes(e.data,
DbFunctions.DiffMinutes(TimeSpan.Zero,
DbFunctions.CreateTime(SqlFunctions.DatePart("hh", e.hinicio),
SqlFunctions.DatePart("mi", e.hinicio),
0.0)))
}));https://stackoverflow.com/questions/36576329
复制相似问题