目前,我正在使用 MVC 4 和实体框架代码优先方案构建一个 Web 应用程序。
在我的应用程序的主要结构中,我有一个Dbcontext(BlogDB)
管理一些Blog
类。它工作正常,因为它在数据库中创建了我需要的所有表。然后我创建了一个区域来托管在线商店。我的想法是创建一个单独的DbContext
类(OnlineStoreDB
)来处理仅用于在线商店的类。
我的问题是一旦OnlineStoreDB
被触发,实体框架不仅为创建表,而且还OnlineStore
删除了旧表。
我的问题是:
- 如果您知道保留旧桌子的方法吗?
- 如何在一个应用程序中准确管理多个 EF 上下文类?
代码:
public class BlogDB : DbContext
{
public BlogDB ()
: base("DBConnection")
{
Database.SetInitializer(new BlogInitializer());
}
public DbSet<Blog> Blogs { get; set; }
public DbSet<Author> Authors { get; set; }
public DbSet<Comment> Comments { get; set; }
}
public class OnlineStoreDB : DbContext
{
public OnlineStoreDB() :
base("DbConnection")
{
Database.SetInitializer(new OnlineStoreInitializer());
}
public DbSet<Order> Orders { get; set; }
public DbSet<Product> Products { get; set; }
public DbSet<User> Users { get; set; }
}