+-

我一直在使用EF一段时间,总是在 Model-First方法.现在我正在通过 Code-First土地冒险.
问题是:我一直遇到自动创建表的问题.
问题是:我一直遇到自动创建表的问题.
根据一些网站,这是可能的.我尝试过他们的方法但没有成功.
这是我尝试过的一件事:Database.CreateIfNotExists()
没运气…
我的连接字符串是完美和有效的.如果我手动添加表,它确实有效.问题是当我没有创建表时.它只是没有像我说的那样创造.
我的课程装饰得很好. (再次:当我创建了DB时它正在工作)
有什么建议?这个功能真的有效吗?
我正在使用:
Visual Studio 2010 Professional
EntityFramework 4.3.1 (although I tried with 4.1 also)
SQL Server 2008 R2
提前致谢.
最佳答案
实体框架中包含三个数据库初始化程序,它们都实现了IDatabaseInitializer< Context>接口.他们是:
> CreateDatabaseIfNotExist(默认)
> DropCreateDatabaseWhenModelChanges
> DropCreateDatabaseAlways
如您所见,默认API没有只创建表的初始化程序,而是完成整个数据库.然而,人们已经创建了其他初始化器,有一个与您想要的完全相同.
它位于Nuget包EFCodeFirst.CreateTablesOnly中
另一个选择是创建自己的初始化程序,如果这是你真正需要的东西.
点击查看更多相关文章
转载注明原文:c# – EntityFramework没有创建表 - 乐贴网