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)를 처리합니다. :) –