我最近尝试过使用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我无法打开它
任何解决方案。
由于
答案 0 :(得分:0)
你需要添加
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourContext>());
到global.asax文件中的应用程序启动方法 EF4 Code First create new table