Как добавить еще одну таблицу в мою базу данных, используя код сначала на MVC3 и Entity Framework?
-
26-10-2019 - |
Вопрос
У меня есть проект MVC3, который я создал, используя первую парадигму кода, и он отлично работает. Я создал модель, наследующую от DBContext, добавил строку подключения, и я могу написать в таблицу и все такое.
Похоже, я не могу понять, как добавить другую таблицу в базу данных, используя код сначала. Добавление другой строки подключения, которая указывает на одну и ту же базу данных, не работает. Просто добавление другого класса, создание DBContext для него, а затем добавление и сохранение чего -либо в новый контекст не работает.
Как добавить новую таблицу в базу данных автоматически с помощью Just Code? Мой текущий web.config выглядит так:
<add name="PersonDBContext"
connectionString="Data Source=|DataDirectory|PersonData.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
Моя рабочая модель выглядит так:
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; }
}
И наконец то, что я хочу создать:
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; }
}
Решение
Почему бы вам не создавать отдельный контекст для обоих классов?
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; }
}
Другие советы
Просто используйте:
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; }
}