There are a few alternatives to work around the issue. Perhaps the easiest is to translate the null string in the query:
SELECT ISNULL(SerialNumber.Number, '') + '-' + SerialNumber.Description AS SerialNumberInfo
The other alternative is pull the raw data into the query and perform the contatenation in code:
SELECT SerialNumber.Number, SerialNumber.Description
string serialNumberInfo = reader["Number"] as string ?? "" + reader["Description] as string;
There may be other alternatives, but I think these are the easiest to implement.