Lea*_*dro -1 .net c# linq null datetime
我知道这个错误很常见,但我无法用一个数据和DateTime类型处理它.
这是我的LINQ:
var lastDate = (
from t in context.table select t.CreatedOn
).Max();
Run Code Online (Sandbox Code Playgroud)
我需要的是获取last DateTime(CreatedOn)字段获取行的最大值.
事情就是崩溃,因为表是空的,我无法在catch异常之前处理null.有了它的数据.
更新:
如果无法获取日期时间,则预期结果为"null".
有了Pikoh评论,我可以做到,但是现在我和一个有条件的linq有同样的错误(在哪里)
lastDateWithCriteria= (
from t in context.table
where criteria == "value"
select t.CreatedOn).Max();
}
Run Code Online (Sandbox Code Playgroud)
小智 6
你能做的一件事是......
var lastDate = (
from t in context.table select (DateTime?)t.CreatedOn
).Max();
Run Code Online (Sandbox Code Playgroud)
使用此强制转换,您可以告诉您的代码,CreatedOn字段现在可以为null.
如果需要,您甚至可以在值为null时传递默认值...
var lastDate = (
from t in context.table select (DateTime?)t.CreatedOn
).Max() ?? DateTime.Now;
Run Code Online (Sandbox Code Playgroud)
我希望有所帮助.