EF Code首先不创建新的DB

时间:2012-11-27 14:11:44

标签: entity-framework ef-code-first

我需要你的帮助!我在Visual Studio 2010中工作,当尝试在EF CodeFirst的帮助下生成一个全新的SQLEXPRESS DB时,没有任何错误,但没有新的自动生成的DB。可能有什么不对?我正在编写数据模型类,然后我添加了一个DBContext类,并编写逻辑来创建一个新的DataBaseEntry,然后我开始调试并且没有生成DB

1 个答案:

答案 0 :(得分:0)

首次访问数据时,会自动生成EF-Code First中的数据库(无需创建DatabaseEntry)(在发送查询之前没有任何操作...)

您还可以通过继承DropCreateDatabaseIfModelChanges或DropCreateDatabaseAlways(名称是自解释的)并实现Seed方法来创建种子类。

然后,您必须将此类设置为初始化程序:

  Database.SetInitializer<MyContext>(new MySeedClass())

EF将首次尝试访问您的数据库,您的种子类将被调用(如果需要)

更多信息:http://www.codeguru.com/csharp/article.php/c19999/Understanding-Database-Initializers-in-Entity-Framework-Code-First.htm