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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top