none
Valores por defecto de campos de SQL RRS feed

  • Pregunta

  • Buenas tardes, estoy trabajando con un modelo EF sobre C# de tipo Database First, en una apliación WinForms.

    Observo que los valores por defecto designados a los campos en SQL Server no se "importan" al modelo.

    ¿Esto es así siempre o me falta por definir alguna propiedad? Si es así, me gustaría saber cómo lo solventáis para que aunque se importe el modelo repetidas veces se mantengan. Pregunto esto porque podría generar una extensión de la clase, pero me parece algo engorroso y no sabría si es correcto o no.

    Al hilo de esto, creé en SQL dos tablas maestro detalle donde almaceno los valores por defecto "TablasCab" y "TablasLin", aunque posteriormente se puedan cambiar por el usuario administrador. La funcionalidad para la que hice esto es para dar valores por defecto a algunos campos cuando se inserta desde el front un registro en alguna tabla, se consulte aquí con qué valores se debe inicializar el registro. Por ejemplo, para la tabla Clientes el campo CodTipoVia puede tener en la tabla SQL el valor por defecto '' (string vacío) pero en TablasLin tiene "CL", de tal forma que con un procedimiento en una clase Helper recorro y guardo el valor CL (si el usuario no ha indicado otra cosa, claro).

    El problema me viene porque aunque tengo valores por defecto para un campo bit "Activo" en todas las tablas que lo precisan y en TablasLin se asigna "True" en el procedimiento AsignarValoresDefecto compruebo que la propiedad de la entidad sea null para asignar el valor por defecto, pero para este campo Activo me viene asignado por defecto 0, con lo que se me generan siempre como False.

    Supongo que igual debería chequear el tipo de campo antes o si trae o no valor de otra manera, no con null, pero prefiero que me den su opinión y experiencia antes de "revolver" código.

    Gracias.

    martes, 8 de agosto de 2017 17:19