gpt4 book ai didi

c# - EntityFramework 不创建表

转载 作者:太空狗 更新时间:2023-10-29 23:09:48 25 4
gpt4 key购买 nike

我已经使用 EF 一段时间了,一直在 Model-First 中方法。现在我正在冒险 Code-First土地。问题是:我在自动创建表格方面遇到了问题。

根据一些网站,这是可能的。我已经尝试过他们的方法但没有成功。

这是我尝试过的事情之一:Database.CreateIfNotExists()

运气不好...

我的连接字符串很完美并且可以正常工作。如果我手动添加表格,它确实有效。问题是当我没有创建表时。它只是没有像我说的那样创造。

我的类(class)装饰得当。 (再次:当我创建数据库时它正在工作)

有什么建议吗?这个功能真的有用吗?

我正在使用:

Visual Studio 2010 Professional

EntityFramework 4.3.1 (although I tried with 4.1 also)

SQL Server 2008 R2

提前致谢。

最佳答案

Entity Framework 中包含三个数据库初始化程序,它们都实现了 IDatabaseInitializer<Context>界面。它们是:

  • CreateDatabaseIfNotExist(默认)
  • DropCreateDatabaseWhenModelChanges
  • DropCreateDatabaseAlways

如您所见,默认 API 没有仅创建表的初始化程序,而是创建整个数据库。然而,人们已经创建了其他初始化器,其中有一个可以做您想要的完全相同的事情。

它在 Nuget 包中 EFCodeFirst.CreateTablesOnly

另一种选择是创建您自己的初始化程序(如果您真的需要的话)。

关于c# - EntityFramework 不创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9985957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com