SqlDataReaderを使用しているときに私のコードにこのような種類のロジックがたくさんあります これを処理するよりクリーンな方法がありますか?DBNullを処理する一般的な方法
if (reader["VisitingAddressId"] != DBNull.Value)
{
visitingAddress = new Address()
{
AddressId = Convert.ToInt64(reader["VisitingAddressId"]),
Address1 = reader["VisitingAddress"].ToString(),
AddressType = AddressType.VisitingAddress,
PostalCode = reader["VisitingPostal"].ToString(),
PostalDistrict = reader["VisitingPostalDistrict"].ToString()
};
}
if (reader["PostalAddressId"] != DBNull.Value)
{
postalAddress = new Address()
{
AddressId = Convert.ToInt64(reader["PostalAddressId"]),
Address1 = reader["PostalAddress"].ToString(),
AddressType = AddressType.PostalAddress,
PostalCode = reader["PostalPostal"].ToString(),
PostalDistrict = reader["PostalPostalDistrict"].ToString()
};
}
をこれはちょうど明らかです –
@KierenJohnstone - 私はDapperをORMとして本当に分類しません。それははるかに簡単であり、セマンティクスを変更することなく、OPサンプルの定型コードを完全に排除することができます。 –
まあ、 ".NET用の単純なオブジェクトマッパー"はOとMを処理します。 "DapperはIDbConnectionインターフェイスを拡張するプロジェクトにドロップできる単一のファイルです。" R(つまりRDBMS)を処理します:) –