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

时间:2016-09-12 08:26:54

标签: c# .net ado.net

针对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));

我不能使用三元运算符?:,因为IntelliSense /编译器会抱怨“类型'System.DateTime之间没有隐式转换?'和'System.DBNull'。

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

1 个答案:

答案 0 :(得分:-1)

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