如何使用Dapper插入DateTime(或DateTime2)

本文关键字:DateTime2 DateTime 何使用 Dapper 插入 | 更新日期: 2023-09-27 17:59:44

我正在尝试执行以下操作:

var p = new DynamicParameters();
p.Add(...);
p.Add(...);
// ideally I want to insert null for end date, but I also tried DateTime.MinValue
// or some other date, but doesn't help
p.Add("@endDate", null, DbType.DateTime, ParameterDirection.Input);
using (var con = new SqlConnection(ConnectionString))
{
    // stored procedure does 'select SCOPE_IDENTITY()' to return the id of inserted row.
    int id = con.Query<int>("StoredProcedureName", p, commandType: CommandType.StoredProcedure).First();
}

这是抛出"InvalidCastException",我相信这是因为日期的原因。我之前在sqldb中为endDate设置了datetime2(20),将其更改为datetime,看看它是否修复了它,但没有。有人能帮忙吗?

如何使用Dapper插入DateTime(或DateTime2)

这里的无效强制转换是SCOPE_IDENTITY()实际返回decimal。参数运行良好。