Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

335
Vistas
Migración de código primero: ¿Cómo establecer el valor predeterminado para la nueva propiedad?

Estoy usando EF6 para almacenar instancias de la clase de report en mi base de datos. La base de datos ya contiene datos. Digamos que quería agregar una propiedad para report ,

 public class report { // ... some previous properties // ... new property: public string newProperty{ get; set; } }

Ahora, si voy a la consola del administrador de paquetes y ejecuto

 add-migration Report-added-newProperty update-database

Obtendré un archivo en la carpeta '/Migraciones' agregando una newProperty columna de propiedad a la tabla. Esto funciona bien. Sin embargo, en las entradas más antiguas de la base de datos, el valor de newProperty ahora es una cadena vacía. Pero quiero que sea, por ejemplo, "viejo".

Entonces mi pregunta es: ¿Cómo establezco valores predeterminados para nuevas propiedades (de cualquier tipo) en el script de migración (o en otro lugar)?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Si ve el código de migración generado, verá AddColumn

 AddColumn("dbo.report", "newProperty", c => c.String(nullable: false));

Puede agregar defaultValue

 AddColumn("dbo.report", "newProperty", c => c.String(nullable: false, defaultValue: "old"));

O agregue defaultValueSql

 AddColumn("dbo.report", "newProperty", c => c.String(nullable: false, defaultValueSql: "GETDATE()"));
over 4 years ago · Santiago Trujillo Denunciar

0

Espero que ayude a alguien. Poniendo todo junto de respuestas anteriores (ejemplo usando una propiedad booleana) :

1) Agregar una nueva propiedad a la entidad.

 /// <summary> /// Determines if user is enabled or not. Default value is true /// </summary> public bool IsEnabled { get; set; }

2) Ejecute el siguiente comando para agregar el nuevo cambio en las migraciones.

 add-migration addIsEnabledColumn

3) Se crea un archivo de migración a partir del comando anterior, abra ese archivo.

ingrese la descripción de la imagen aquí

4) Establezca el valor predeterminado.

 public override void Up() { AddColumn( "dbo.AspNetUsers", "IsEnabled", c => c.Boolean( nullable: false, defaultValue: true ) ); }
over 4 years ago · Santiago Trujillo Denunciar

0

Debe cambiar la línea en su secuencia de comandos de migración que agrega la propiedad/columna de esta manera:

 AddColumn("dbo.reports", "newProperty", c => c.String(nullable: false, defaultValue: "test"));
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda