У меня есть проект MVC4 Web api под visual studio 2012, для которого я хотел бы сначала создать и управлять базой данных, используя EF 6.0.2. На самом деле, решение предполагает четыре проекта, а именно,Код фреймворка сущности сначала не создает таблицы с использованием VS 2012
- OnlineShop.Application (интерфейс пользователя)
- OnlineShop.Model посвященный POCO классов только
- OnlineShop.Test для модульных тестов и
- OnlineShop.Core имеющие UnitOfWork, GenericRepository и DatabaseContext классы
Каждый из упомянутых проектов включает в себя app.config который содержит такое же соединение, что и в Интернете. конфигурации.
Проблема: После запуска проекта (в режиме отладки) база данных создается, как показано на проводнике сервера (в visual studio 2012). Но у него нет таблиц !!!
Контекст класс базы данных также как:
public class DatabaseContext : DbContext
{
public DatabaseContext() : base("OnlineShopDb")
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext, Configuration>());
}
//public static void InitializeDatabase()
//{
// using (var context = new DatabaseContext())
// {
// context.Database.CreateIfNotExists();
// Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext, Configuration>());
// }
//}
public DbSet<Person> Persons { get; set; }
public DbSet<Customer> Customers { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<Audit> Audits { get; set; }
public DbSet<RoleGroup> RoleGroups { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<UserInRole> UserInRoles { get; set; }
public DbSet<Order> Orders { get; set; }
public DbSet<OrderDetail> OrderDetails { get; set; }
public DbSet<Product> Products { get; set; }
public DbSet<ProductCategory> ProductCategories { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
modelBuilder.Entity<Person>().Map<User>(c => c.Requires("Discriminator").HasValue("User"));
}
}
Я перемещался в Интернете так много, нашел много статей ANS образцов относительно EF кода первого подхода, но, к сожалению, не может справиться с этой проблемой плохой!
Я был бы признателен, если бы кто-нибудь мог мне помочь в этом.
вы пытались получить доступ к своему дб с C# код? как db.products.tolist() ?, entityframework строить базу данных, пока вы не попытаетесь получить или установить некоторые данные –
ну .. на самом деле не просто попробовать сейчас, может быть, это помогает .. – Ali
для записи Я отправил свой ответ –