Ich verwende Entity Framework Code ersten Ansatz und haben folgenden Modell und Db-Kontext.Kann ich die Migration aktivieren und Datenbank mit Code aktualisieren
public class Patient
{
public int Id { get; set; }
public string FirstName { get; set; }
}
public class PatientContext:DbContext
{
public DbSet<Patient> Persons { get; set; }
}
nun das Modell in der Datenbank erstellt haben, ich habe Enable Migration
zu starten und wenn Änderungen dann laufen müssen Update database
Paket-Manager-Konsole.
Aber kann ich das irgendwie mit Code machen? Wenn also eine Konsolenanwendung ausgeführt wird, erstellt sie alle Tabellenschemata.
class Program
{
static void Main(string[] args)
{
//Code to Create my tables
//Something similar to enable migration and update database
}
}
kann ich einen Datensatz innerhalb der Haupt App erstellt, und das wird die Tabellenstruktur erstellen, aber eine Aufzeichnung zu schaffen Tabellenstruktur zu schaffen scheint überflüssig. Wenn es Modusänderungen gibt, löst der folgende Code eine Ausnahme aus.
Gibt es einen besseren Ansatz?
static void Main(string[] args)
{
using (PatientContext pcontext = new DatabaseMigApp.PatientContext())
{
pcontext.Patients.Add(new Patient() { FirstName = "Steve",Id = 1});
pcontext.SaveChanges();
}
}
Siehe https://romiller.com/2012/02/09/running-scripting-migrations-from-code/ –