如果我将此字段设置为NULL,如何使用Dapper返回日期?
这是我的方法,当我将输出返回给该方法时,仅缺少一些东西,看图片..我不知道我在做什么错..
我的方法:
public DateTime GetArbeitStart(int userId)
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection())
{
connection.ConnectionString = _ConnectionString;
var output = connection.Query<DateTime>("select LPE_ArbeitStart from A_PERSONAL WHERE LPE_ID=" + userId).FirstOrDefault();
return output == null ? new DateTime(2018, 1, 1);
}
}
答案 0 :(得分:2)
据我所知,您似乎正在尝试将ternary operator与null coalescing operator组合在一起。
我认为您只需要null合并运算符:
return output ?? new DateTime(2018, 1, 1);
或者如果您想要更详细的三元运算符:
return output == null ? new DateTime(2018, 1, 1) : output;
答案 1 :(得分:1)
您缺少三元运算符中的else
部分
return output === null ? new Date() : somethingElse;
答案 2 :(得分:0)
这是另一种选择:
public DateTime GetArbeitStart(int userId)
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection())
{
connection.ConnectionString = _ConnectionString;
return connection.Query<DateTime>("select LPE_ArbeitStart from A_PERSONAL WHERE LPE_ID=" + userId)
.DefaultIfEmpty(new DateTime(2018, 1, 1)).First();
}
}
我喜欢它确实具有声明性。