我在开发C#程序的Visual Studio 2012中使用实体框架。我想在我的数据库表中添加记录。记录(对象)包含一个属性(TRANSACTION_DATE),该属性不允许NULL值并且是DateTime格式。在数据库中我的目标格式为:将datetime2数据类型转换为日期时间数据类型导致超出范围值
yyyy-MM-dd HH:mm:ss.fff
,所以我想通过当前的日期和时间吧,我的代码是这样的:
newEntry.TRASACTION_DATE = DateTime.ParseExact(DateTime.Now.ToString(),
"yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture);
,但它给我的错误:
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
我想知道为什么它不会转换为我想要的格式?
约束:
为什么要将'DateTime.Now'转换为字符串,然后再返回?只需使用'DateTime.Now' ...并注意数据库值不会具有*本质上的格式 - 将其转换为字符串时使用的格式与存储的内容无关。 – 2014-10-28 13:20:05
,因为它不是我想要的格式 – lcc 2014-10-28 13:20:31
我发现这些'日期时间超出范围'的例外几乎总是下到试图在数据库中存储'01 -01-0001 00:00:00',检查SQL被发送到DB – paul 2014-10-28 13:21:26