2016-03-23 5 views
0

Ich habe einige verschiedene Ansätze zum Seeding von Datenbanken mit der AddOrUpdate-Methode gesehen.Welche Methode ist ideal beim Seeding einer Datenbank mit Code First Migrations?

1.

context.People.AddOrUpdate(
     new Person() { Id = 1, Name = "Harry", LastName="Henderson"}, 
     new Person() { Id= 2, Name = "Henry", LastName="Ford"} 
    ); 

2.

var people = new List<Person>{ 
    new Person{Id= 1, Name = "Harry", LastName="Henderson"}, 
    new Person{Id= 2, Name = "Henry", LastName="Ford"} 
}; 
    people.ForEach(newPerson => context.People.AddOrUpdate(alreadyExistsProperty => alreadyExistsProperty.Id, newPerson)); 
    context.SaveChanges(); 

Kann jemand bitte erklären, was der idealere/Best-Practice-Ansatz. Warum würdest du eins über das andere machen oder spielt es überhaupt keine Rolle?

+0

Ihr erstes Beispiel sieht besser lesbar aus, obwohl Sie die Prüfung auf doppelte IDs verpasst haben. –

Antwort

0

Seed läuft immer. Das zweite Beispiel ruft eine doppelte Schlüsselausnahme auf.

+0

Ich verstehe, dass, was ich aber frage, ist die ideale/Best Practice-Ansatz zum Seeding der Datenbank. – g5insider

+1

Der, der keine Ausnahme auslöst. –