我最近重组了我的MVC 4应用程序,现在面临数据库不再被初始化的问题。
在Global.asax中,我首先以这种方式调用初始化程序:
Database.SetInitializer<MyContext>(new MyInitializer());
new MyContext().Portfolios.Find(1);
new MyContext().UserProfiles.Find(1);
MyInitializer包含一点种子方法。
public class MyInitializer : CreateDatabaseIfNotExists<MyContext>
{
protected override void Seed(MyContext context)
{
...
初始化程序和上下文位于名称空间.DAL中,我在Global.asax中引用它。数据库是空的,我希望它可以创建,但它没有。
似乎初始化程序根本没有被调用..如果我将初始化程序设置为DropCreateDatabaseAlways并且我不明白为什么没有区别。你们中有人有想法或有良好的联系吗?
答案 0 :(得分:0)
我为我的问题道歉......它没有包含回答它所必需的信息。当我说我重组了我的项目时,我本应该写一下,我之前添加了很多继承,没有继承。似乎在OnModelCreating中,一个条目modelBuilder.Entity();需要MVC将该实体视为包含在内。