Я бы не хотел, чтобы в моем коде было много проверок вроде следующего:
myObj.someStringField = rdr.IsDBNull(someOrdinal)
? string.Empty
: rdr.GetString(someOrdinal);
Я подумал, что могу просто попросить мой запрос позаботиться о нулях, сделав что-то вроде этого:
SELECT myField1, [isnull](myField1, '')
FROM myTable1
WHERE myField1 = someCondition
Однако я использую SQLite, и он, похоже, не распознает isnullфункцию. Я также пробовал несколько эквивалентных, распознаваемых в других базах данных ( NVL(), IFNULL()и COALESCE()), но SQLite, похоже, не распознает ни одну из них.
Есть ли у кого-нибудь предложения или есть ли способ сделать это лучше? К сожалению, в базе данных нет значений по умолчанию для всех полей. Кроме того, мне нужно использовать некоторые LEFT JOINпредложения в некоторых случаях, когда некоторые из возвращаемых полей будут пустыми, потому что соответствующая запись в LEFT JOINтаблице не существует.