在
linq表达式中检查DateTime是否为空的方法是什么?我有IEnumeable方法,我从数据库返回数据
return _requestRepository.ExecuteProcReader(
myRequest,
new SqlParameter("@userName", user)).Select(items => new Feed
{
Id = (int)items[0],
Title = items[1].ToString(),
Body = items[2].ToString(),
Link = items[3].ToString(),
PubDate = (DateTime) items[4]
});
而items [4]是一个日期时间,在数据库中可以为null.那么,如何检查类似的东西
if(items[4] is DateTime)
{
PubDate = (DateTime) items[4]
}
最佳答案 另一个选择是将PubDate声明为类Feeddeclaration中的可空.
像这样:
class Feed {
public DateTime? PubDate {get;set;}
...
}
这会将数据库中的真相暴露给数据访问层,并将您的空值检查提升一级.