Wie füge ich meiner Datenbank eine weitere Tabelle mit Code zuerst auf MVC3 und Entity Framework hinzu?

StackOverflow https://stackoverflow.com/questions/5815771

Frage

Ich habe ein MVC3 -Projekt, das ich mit dem Code First Paradigm erstellt habe und es funktioniert großartig. Ich habe ein Modell erstellt, das von dbContext erbt, die Verbindungszeichenfolge hinzugefügt und ich kann in die Tabelle und all das schreiben.

Ich kann jedoch nicht herausfinden, wie ich mit Code zuerst eine weitere Tabelle zur Datenbank hinzufügen kann. Das Hinzufügen einer weiteren Verbindungszeichenfolge, die auf dieselbe Datenbank verweist, funktioniert nicht. Einfach eine andere Klasse hinzufügen, einen DBContext dafür erstellen und dann etwas hinzufügen und in dem neuen Kontext speichern, funktioniert nicht.

Wie füge ich der Datenbank automatisch eine neue Tabelle mit nur Code hinzu? Mein aktueller Web.config sieht so aus:

<add name="PersonDBContext"
     connectionString="Data Source=|DataDirectory|PersonData.sdf"
     providerName="System.Data.SqlServerCe.4.0"/>

Mein Arbeitsmodell sieht so aus:

public class Person
{
    public int ID { get; set; }
    public string name { get; set; }
    public string country { get; set; }
    public string gender { get; set; }
}

public class PersonDBContext : DbContext
{
    public DbSet<Person> People { get; set; }
}

Und schließlich, was ich erstellen möchte:

public class Dog
{
    public int ID { get; set; }
    public string name { get; set; }
    public string breed { get; set; }
}

public class DogDBContext : DbContext
{
    public DbSet<Dog> Dogs { get; set; }
}
War es hilfreich?

Lösung

Warum würden Sie nicht für beide Klassen einen einzelnen Kontext erstellen?

public class Person

    {
        public int ID { get; set; }
        public string name { get; set; }
        public string country { get; set; }
        public string gender { get; set; }
    }
    public class Dog
    {
        public int ID { get; set; }
        public string name { get; set; }
        public string breed { get; set; }
    }

    public class ApplicationNameDBContext : DbContext
    {
        public DbSet<Person> People { get; set; }
        public DbSet<Dog> Dogs { get; set; }
    }

Andere Tipps

Benutz einfach:

public class Person
{
    public int ID { get; set; }
    public string name { get; set; }
    public string country { get; set; }
    public string gender { get; set; }
}

public class Dog
{
    public int ID { get; set; }
    public string name { get; set; }
    public string breed { get; set; }
}

public class PersonDBContext : DbContext
{
    public DbSet<Person> People { get; set; }
    public DbSet<Dog> Dogs { get; set; }

}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top