Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

332
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!