¿Puedo configurar un conjunto de datos con establecimiento inflexible utilizar valores anulables?
-
02-10-2019 - |
Pregunta
Si tengo una tabla de datos con establecimiento inflexible con una columna de valores de tipo Int32
, y esta columna permite valores nulos, entonces voy a conseguir una excepción si hago esto para una fila donde el valor es nulo:
int value = row.CustomValue;
En lugar tengo que hacer esto:
if (!row.IsCustomValueNull()) {
int value = row.CustomValue;
// do something with this value
}
Lo ideal sería que me gustaría ser capaz de hacer esto:
int? value = row.CustomValue;
Por supuesto que siempre podría escribir mi propio método, algo así como GetCustomValueOrNull
; pero sería preferible que la propiedad de auto-generado para la propia columna, simplemente devuelve un anulable. ¿Es esto posible?
Solución
Por desgracia, esto no es compatible.
Sin embargo, usted puede hacer su propia propiedad envoltura, como esto:
public int? CustomValue {
get { return IsCustomValueqlNull() ? new int?() : CustomValueSql; }
set {
if (value == null)
SetCustomValueSqlNull();
else
CustomValueSql = value.Value;
}
}
Cuando CustomValueSql
es el nombre de la columna en realidad.