针对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行代码?
答案 0 :(得分:-1)
cmd.Parameters.Add(new SqlParameter("@start_date", t.StartDate.HasValue?t.StartDate:DBNull.Value));