Вместо использования DBNull.Value
просто используйте SqlString.Null
и измените тип возвращаемого значения на SqlString
, и здесь приведение не требуется, поскольку существует неявное преобразование между string
и SqlString
:
public static SqlString DBString(this string Text)
{
return (!Factory.ISValidString(Text)) ? SqlString.Null : Text;
}
Это решение позволяет вызывающему абоненту знать, что он имеет дело с типом SqlString
, а не просто с типом object
, который может содержать что-либо.