私のプロジェクトでは、SQL から大量のデータを取得し、そのデータをオブジェクト フィールドにマップする必要があります。このようなもの:
cu.UnitName = dr["UnitName"].ToString().Trim();
cu.LocalId = DbUtil.RemoveNull(dr["LocalID"], "");
cu.DatabaseName = DbUtil.RemoveNull(dr["DatabaseName"], "");
cu.DatabaseServer = DbUtil.RemoveNull(dr["DatabaseServer"], "");
cu.UserName = DbUtil.RemoveNull(dr["UserName"], "");
cu.Password = DbUtil.RemoveNull(dr["Password"], "");
cu.RoleId = DbUtil.RemoveNull(dr["RoleId"], 0);
はDbUtil.RemoveNull
次のとおりです (int
バージョン、string
バージョンは同様です):
public static int RemoveNull(object data, int defaultValue)
{
if (data is DBNull || data == null)
return defaultValue;
return int.Parse(data.ToString());
}
だから私は、SQLのCOALESCE
またはISNULL
同じ仕事をより速く行うのだろうかと思います。誰かが同様の比較をしましたか?どちらの方法がより効率的でしょうか?