[英]Dapper insert DateTime value
我正在使用dapper CROD操作。
我正在尝试使用DataTime字段向表中输入新行。
我创建了以下课程:
//Properties
public int Id { get; set; }
public string Title { get; set; }
public string Message { get; set; }
public int UserID { get; set; }
public DateTime CreationDate { get; set; }
public DateTime UpdateDate { get; set; }
public DateTime ActiveStartDate { get; set; }
public DateTime ExpirationDate { get; set; }
现在,插入语句如下:
public static string InsertNewMessage
=> @"INSERT INTO Messages
(Title,[Message],UserID,CreationDate,UpdateDate,ActiveStartDate,
ExpirationDate)
VALUES (N'@Title',N'@Message',@UserID,CAST('@CreationDate' as
DATETIME),CAST('@UpdateDate' as DATETIME),
CAST('@ActiveStartDate' as DATETIME)
,CAST('@ExpirationDate' as DATETIME))
SELECT CAST(SCOPE_IDENTITY() as int)";
int returnId = _db.Query<int>(QueriesRepository.InsertNewMessage,
_message).SingleOrDefault();
现在我在做什么错-我已经在网上找到了以下错误的解决方案-运气不好,我知道问题是DateTime对象的格式,但是我看到Dapper应该支持它。
Conversion failed when converting date and/or time from character string
我认为这是一个很晚的回应。 但是无论如何我昨天都遇到了同样的问题,所以我将解决方案放在这里。 您无需在SQL查询中直接CAST datetime。 在我的情况下,datetime值超出范围,基本上是01-01-0001 00:00:00,所以导致了错误。 确保您传递正确的日期时间值。 希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.