我一直在使用EF 4 CTP5并且正在关注scottgu博文:http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx
基本上我希望模型能够为我生成表格,如果它丢失了。
在我的情况下,它抱怨数据库对象无效,这是因为我还没有表。我正在使用SQL Server 2005,而博客提到sql express或ce。
我想创建表的模式,该功能仅适用于sql express和CE吗?
提前致谢
答案 0 :(得分:3)
“基本上我希望模型为我生成表格,如果它缺失”
目前使用CTP5不支持该方案,但是应该可以在(近)未来做这样的事情:http://blogs.msdn.com/b/efdesign/archive/2010/10/22/code-first-database-evolution-aka-migrations.aspx
目前仅支持以下2种初始化策略:
// always recreate the database
DbDatabase.SetInitializer(new DropCreateDatabaseAlways<MyDbContext>());
或
// recreate the database if any changes to the model are detected.
DbDatabase.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDbContext>());
还应该注意,EF创建整个数据库,而不仅仅是表,因此您不必自己创建数据库。