estoy creando un sitio asp.net utilizando mvc4 marco de la entidad con 5 codefirst y el servidor SQL Express 2012.Cómo controlar los valores de clave principal cuando la siembra de datos con Entity Framework codefirst
He permitido migraciones y ahora hacer esto en mi método Configuration.Seed: (tenga en cuenta que quiero establecer la clave primaria en 8 aunque este sea el primer registro en la base de datos).
context.ProductCategoryDtoes.AddOrUpdate(x => x.Id,
new ProductCategoryDto() { Id = 8, Name = "category1" }
);
Mi objeto de Model se define así:
[Table("ProductCategory")]
public class ProductCategoryDto {
public long Id { get; set; }
public string Name { get; set; }
}
Esto se traduce en una mesa en (SQL Server Express 2012), donde la columna de Id tiene Identidad = true, semilla de Identidad = 1, incremento de identidad = 1.
Ahora en que funciono migraciones haciendo una PM> Update-Database
este resultado en una fila con Id = 1.
Así que mi pregunta es:
1) ¿Cómo puedo controlar los valores de las claves primarias autoincorporadas al sembrar datos?
2) Si la solución es incrementar el valor de inicialización de las columnas clave, ¿cómo se hace cuando estoy usando Database.SetInitializer(new DropCreateDatabaseAlways<MyContext>());
? Esto nukeará y reconstruirá la base de datos cada vez que actualizo la base de datos, entonces, ¿cómo se actualizaría el valor inicial en la nueva base de datos?
sí, eso fue lo que terminé haciendo. –