我有查询
var result = (from myView in db.loginSessions
where myView.machine.ToUpper().Equals(machine.ToUpper())
&& myView.start >= myStart
&& myView.end <= myEnd
orderby myView.start
select new loginSessionList {
Id = myView.id,
Machine = myView.machine.ToUpper(),
Start = myView.start.ToString("u"),
End = myView.end.ToString("u"),
User = myView.username
}).ToList();
我在日期时间转换中获得ArgumentOutOfRange
个例外。我尝试了不同的ToString
转换字符串。我尝试过Intellisence提供的其他To...
date-&gt;字符串转换。我试过了Convert.string(myView.start)
。没有任何效果。我用谷歌搜索,并使用我尝试过的所有东西找到了建议。我是否必须对生成的列表进行后期处理?
我错过了什么?
答案 0 :(得分:0)
我有3条处理DateTimes的规则很好地为我服务:
答案 1 :(得分:0)
所以,我的问题的答案与Linq或.Net无关。 @JoeEnos让我走上了正确的轨道,正如我在评论中提到的那样。我创建了一个类来接收每一行查询结果。日期字段最初是DateTime
类型,但我开始遇到问题。我将这些字段更改为字符串,然后最后问我上面的问题。
当接收类仍具有DateTime字段时,所有字段都具有小写名称。我必须应用CamelCased字段名称的某种代码格式。这意味着在序列化结果后,无法找到CamelCased名称且javascript不关心。
我在js代码中修改了字段名称,将字段数据类型更改回DateTime,一切都很好。
由于