0

尝试使用 Insert CLass 执行插入注释时,出现以下异常:

将 char 数据类型转换为 datetime 数据类型会导致 datetime 值超出范围。

我正在使用以下全球化设置:

<globalization uiCulture="en-AU" culture="en-AU"/>

我的日期格式是:“dd/mm/YYYY”

我可以使用以下方法解决异常:

ci.Date.HasValue?ci.Date.Value.ToString("yyyy-MM-dd HH:mm:ss"):null

但这很难看,因为……我能做些什么让亚音速选择我的全球化设置吗?

谢谢

路易斯

4

2 回答 2

0

路易斯,您应该发布一些代码,以便我们可以清楚地看到您正在尝试做什么,但我想我知道这个问题。

如果您传入 Subsonic 无法识别的数据类型,例如 DateTime?(与 Date 相对),则 subsonic 将调用对象的 ToString() 方法并将其 DataType 设置为字符串,这将导致您在上面提到的问题. 您应该能够只传递 ci.Date.Value 而无需调用您自己的 ToString("format") 方法。

于 2009-04-30T14:17:51.900 回答
0

您使用的是 SQLServer 2008“日期”列吗?

我在这种情况下看到了同样的问题,在我的情况下,这是因为 SQL Server“日期”类型的 Subsonic 类属性被设置为“字符串”。

请参阅SQL Server 2008 日期的 Subsonic 2.2 生成的属性

如果您能确认这一点,我将不胜感激,我将在 Subsonic 项目问题列表中发布问题。

于 2009-04-27T03:50:30.717 回答