我正在使用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-MM-dd HH:mm:ss.fff”。
我有一个Time字段(hinicio),它是一个字符串,而不是DateTime / TimeSpan类型-我想添加hinicio数据-让我们给hinicio一个示例值,例如“ 13:00”,因为这是DB用于字符串的format(“ HH:mm”)。
最后,这就是我想要得到的:“ 2016-01-01 13:00:00.000”
既然我们在谈论DateTime和String,是否有一种合理的方式来格式化我上面提到的IQueryable表达式中的两个值?
如果不是,在Select方法上使用它们之前,应该如何格式化我的值?
更新/更多详细信息:
对于那些可能对此感到疑惑的人,调度程序库必须使用变量id,text,start_date和end_date,因此我可以看到已经发生的事件。
这个Scheduler是我正在使用的模板,现在我正尝试用我的数据库来实现它。
有关更多信息,请访问:http : //docs.dhtmlx.com/scheduler/
提前
致以最诚挚的谢意,Granvic
您必须将hinicio
值转换为TimeSpan
,然后将其添加到data
。
为此,您必须使用Linq to EntitiesDbFunctions
和SqlFunctions
class。
如果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)))
}));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句