繁体   English   中英

Dapper插入DateTime值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM