SqlCommand参数,添加可空值的更短方式

本文关键字:方式 空值 参数 添加 SqlCommand | 更新日期: 2023-09-27 18:06:40

针对T-SQL编写数据层代码,我经常必须将SqlParameter添加到SqlCommand。对于可空类型(例如DateTime?),我这样写:

if (t.StartDate.HasValue)
    cmd.Parameters.Add(new SqlParameter("@start_date", t.StartDate));
else
    cmd.Parameters.Add(new SqlParameter("@start_date", DBNull.Value));

我不能使用三元操作符?:,因为智能感知/编译器会抱怨"类型之间没有隐式转换"System.DateTime?'和'System.DBNull'.

是否有更短/更整洁的方式来编写我的4行代码?

SqlCommand参数,添加可空值的更短方式

   cmd.Parameters.Add(new SqlParameter("@start_date", t.StartDate.HasValue?t.StartDate:DBNull.Value));