我的 SQL Server 由我的托管服务提供商托管。这意味着我无权重新创建(或创建)数据库。
这导致我遇到 EF 4 的问题 - 它认为这些表丢失了,它们确实存在。我认为是由于无法重新创建数据库造成的。
回顾一下:本地开发,第一次运行转移到托管服务器,切换连接字符串,针对托管服务器运行,错误提示无效对象名称'dbo.Products'。
我有权创建除数据库之外的任何其他内容
我在这个假设中是否正确,我该如何解决这个问题?
我的 SQL Server 由我的托管服务提供商托管。这意味着我无权重新创建(或创建)数据库。
这导致我遇到 EF 4 的问题 - 它认为这些表丢失了,它们确实存在。我认为是由于无法重新创建数据库造成的。
回顾一下:本地开发,第一次运行转移到托管服务器,切换连接字符串,针对托管服务器运行,错误提示无效对象名称'dbo.Products'。
我有权创建除数据库之外的任何其他内容
我在这个假设中是否正确,我该如何解决这个问题?
在 EF 4.3 中,您可以从 Visual Studio 的工具菜单项中使用包管理器控制台。这将允许您使用迁移来生成数据库脚本。更多信息在这里
http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx
您当然可以创建一个 drop 并自己创建脚本
您可以手动创建数据库并设置 Database.SetInitializer(null) 或者您可以尝试 EF 5 RC。在发行说明中,您可以看到他们解决了这个问题。