Code First生成数据库

时间:2011-08-15 04:18:28

标签: model-view-controller code-first

我最近尝试过使用CodeFirst,我想知道一些事情。 我用CF生成db(MyDB.mdf),然后在SQL Server中删除了一个表(Category)。接下来,当我尝试重新创建一个新表时,CF没有在我的数据库中生成新表。 这是我的代码

public class Product
{        
    public int prodID { get; set; }        
    public int catID { get; set; }
    public string prodName { get; set; }        
    public Double Price { get; set; }

    public virtual Category Categories { get; set; }
}

public class Category
{        
    public int catID { get; set; }
    public string catName { get; set; }

    public virtual ICollection<Product> Products { get; set; }
}

public class MyDB : DbContext
{
    public DbSet<Product> Products { get; set; }
    public DbSet<Category> Categories { get; set; }
}

这是我的连接字符串,因此CF可以为我的SQL Server生成数据库

<add name="MyDB" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True" providerName="System.Data.SqlClient"/>

我不使用SqlCe数据库b / c我无法打开它

任何解决方案。

由于

1 个答案:

答案 0 :(得分:0)

你需要添加

 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourContext>());

到global.asax文件中的应用程序启动方法 EF4 Code First create new table