none
Sobre valores por defecto

    Question

  • Tengo un modelo generado a partir de una BD de SQL 2008. En todas las tablas hemos usado siempre valores por defecto, por limpieza y para que las tablas no se llenaran de campos con valores NULL. Así que por defecto, los campos VARCHAR tienen por defecto el valor "", los INT el valor 0, y así con los distintos tipos de datos. Ahora me encuentro empezando con EF4 y cuando se genera el modelo estos valores por defecto de la BD no son tenidos en cuenta, con lo que si intento grabar un registro se produce una excepción del tipo "el campo X no admite NULLS". Antes usaba ADO.NET y no tenía este problema en los DATASET. De momento he generado una clase parcial donde inicializo los valores de la tabla usando los valores por defecto, pero con más de 200 tablas esto se hace un poco pesado. No sé si estoy haciendo algo mal o hay alguna forma de tener en cuenta estos valores por defecto. Desde ya, muchas gracias.
    Monday, June 06, 2011 8:42 PM

All replies

  • Hola,

    Debes utilizar la propiedad StoreGeneratedPattern="Identity" en la definición de los campos que necesites.

    Dale un vistazo a este otro hilo:

    http://social.msdn.microsoft.com/Forums/en-SG/linqtosql/thread/75ccd19a-84f9-4648-94db-4d15c01709e3

    Ten en cuenta que si la propiedad no queda modificada en el SSDL, deberás incluirla manualmente editando el fichero EDMX en formato xml.

    Saludos,

    JA Reyes.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solucion de esta pregunta te ha sido útil.
    Tuesday, June 07, 2011 8:08 AM
  • Gracias por la respuesta, si no me equivoco usando esa propiedad se asume siempre el valor por defecto del campo, y no se puede variar. ¿Es así?

    Saludos, Francis.

    Tuesday, June 07, 2011 1:39 PM
  • Hola de nuevo,

    Añadiendo este atributo se toma automáticamente el valor por defecto definido en la base de datos.

    Otra opción para el parámetro sería definir el valor de la propiedad a "Computed". En este caso, el valor sería de ida y vuelta...

    Saludos,

    JA Reyes.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solucion de esta pregunta te ha sido útil.
    Tuesday, June 07, 2011 2:12 PM