我正在探索使用Oracle过程进行一些数组绑定,并且需要将我的对象列表拆分为每个属性列表。
我这样做是这样的:
List<ReviewReasons> reasons; // actually comes from method call
cmd.Parameters.Add(new OracleParameter("checked_flag", OracleDbType.Int32, ParameterDirection.Input))
cmd.Parameters["checked_flag"].Value = reasons.Select(x => x.CheckedFlag).ToArray();
cmd.ExecuteNonQuery();
我遇到的问题是
reasons.CheckedFlag
值是布尔值,但是数据库期望的是0或1。在开始使用数组绑定之前,我在foreach
内处理转换,如下所示:foreach(reason in reasons)
{
string checkedFlag = reason.CheckedFlag ? "1" : "0";
// then push into an array
}
我想知道我能否以某种方式选择Select的lambda中的
reason.CheckedFlag ? "1" : "0";
条件。我对Linq真的很陌生,因此非常感谢您的帮助。 最佳答案
cmd.Parameters["checked_flag"].Value
= reasons.Select(x => x.CheckedFlag ? "1" : "0").ToArray();
关于c# - C#-Linq从对象列表中选择属性,并使用速记条件对其进行修改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43499169/