gpt4 book ai didi

c# - 为什么 EF4.1 CodeFirst 即使没有调用 `Database.SetInitializer<>()` 也会创建数据库?

转载 作者:行者123 更新时间:2023-11-30 21:16:03 25 4
gpt4 key购买 nike

我已经注释掉了对 Database.SetInitializer<>() 的所有调用在我的 EF Code First 应用程序中。但是,即使没有任何显式调用来创建数据库,我的 Asp.net MVC 应用程序仍在创建数据库。我有几个原因说明这是一个问题:

1) 我不喜欢 EF 在我不告诉它的情况下创建新数据库的事实。

2) 它一直尝试在我的虚拟主机上创建(或更新)数据库(即使数据库已经存在),因此我收到权限被拒绝的异常。

有谁知道为什么这似乎完全超出了我的控制范围?

最佳答案

在 CTP 5 中,解决方案是

Database.SetInitializer<MyContext>(null);

我认为这在 EF 4.1 中没有改变。如果您评论调用,它默认为 DropCreateDatabaseIfModelChanges

关于c# - 为什么 EF4.1 CodeFirst 即使没有调用 `Database.SetInitializer<>()` 也会创建数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5439262/

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