当我使用具有DateTime字段的LINQ检索记录时,只有ToString()可用。
所有其他的DateTime方法都在哪里?
我必须Convert.ToDateTime the DateTime吗?原野回归了吗?
(DateTime)和(DateTime?)的区别是什么?
发布于 2008-10-04 03:08:20
如果您所说的DateTime?指的是Nullable<DateTime>,那么您可以通过DateTime?.Value属性获取DateTime值。
发布于 2008-10-04 03:27:18
在SQL中,允许DateTimes为null。在C#中,DateTimes不能为null。您可以阅读一些关于nullable value types的内容。由于值类型变量不能为空,因此创建了一个泛型类来处理这种情况。它被称为Nullable<>,通常在类型后面加一个问号。
为了使用这些值,您需要检查.HasValue属性。它是一个布尔值,它知道对象中是否有值或值是否为null。检查.HasValue属性是否为true后,即可安全地使用.Value属性。.Value属性的类型为DateTime。
发布于 2008-10-04 03:45:42
在SQL中,您将DateTime字段设置为Allow Null。然后在LINQ中,当您要访问该字段时,.NET不知道该字段是否真的是日期,这就是为什么您必须在任何日期方法可用之前使用Convert.ToDateTime()。
如果字段总是包含日期,那么将数据库列设置为NOT NULL就可以了。
https://stackoverflow.com/questions/169637
复制相似问题