ich eine asp.net mvc4 Website erschaffe in Meine Configuration.Seed-Methode: (beachten Sie, dass ich den Primärschlüssel auf 8 festlegen möchten, obwohl dies der erste Datensatz in der Datenbank ist).Wie Primärschlüsselwerte steuern, wenn mit Entity Framework Impfen Daten codefirst
context.ProductCategoryDtoes.AddOrUpdate(x => x.Id,
new ProductCategoryDto() { Id = 8, Name = "category1" }
);
My Model-Objekt wird wie folgt definiert:
[Table("ProductCategory")]
public class ProductCategoryDto {
public long Id { get; set; }
public string Name { get; set; }
}
Dies in einer Tabelle führt (SQL Server Express 2012), wo die ID-Spalte Identität = true hat, Identität Samen = 1, Identität Schritt = 1.
Nun, wenn ich Migrationen laufen durch ein PM> Update-Database
dieses Ergebnis in einer Reihe mit Id = 1.
Also meine Frage tun:
1) Wie kann ich beim Seeding die Werte von automatisch inkrementierten Primärschlüsseln steuern?
2) Wenn die Lösung den Schlüsselspalten-Startwert erhöhen soll, wie soll dies geschehen, wenn ich Database.SetInitializer(new DropCreateDatabaseAlways<MyContext>());
verwende. Dadurch wird die Datenbank jedes Mal neu aufgebaut und neu erstellt, wenn ich die Datenbank aktualisiere. Wie würde also der Startwert in der neuen Datenbank aktualisiert?
Ja, das war es, was ich getan habe. –