gpt4 book ai didi

entity-framework-4.1 - SQL Code First DB - 创建表,而不是删除/创建

转载 作者:行者123 更新时间:2023-12-01 02:43:46 25 4
gpt4 key购买 nike

我正在尝试在 Azure 试验中启动 MVC 3 部署,但似乎在让 EF4.1 数据库自行创建时遇到了障碍。

运行时会连接成功,但是报错:

Invalid object name 'dbo.TableName'.

我相信这是因为数据库存在,但其中没有表。我已经能够在本地重现它 - 如果我删除我的 SQL Express 数据库,数据库娱乐工作正常,但如果我然后删除所有表并离开数据库则不行。

我已经阅读了可以添加到 Global.asax 的方法:
protected void Application_Start()
{
// Use any of:
System.Data.Entity.Database.SetInitializer<MyDatabaseContext>(new DropCreateDatabaseIfModelChanges<MyDatabaseContext>());
System.Data.Entity.Database.SetInitializer<MyDatabaseContext>(new CreateDatabaseIfNotExists<MyDatabaseContext>());
System.Data.Entity.Database.SetInitializer<MyDatabaseContext>(new DropCreateDatabaseAlways<MyDatabaseContext>());
}

......这似乎不起作用。有些给出了关于无法在 EdmMetadata 表中获取模型哈希的错误。

如何让 EF4.1/Code First 在现有数据库中创建数据库结构? (在 Azure 中...)。或者我是否必须从 SQL Management Studio 编写 DB 脚本,然后针对目标 DB 运行它?

最佳答案

查看 David.Cline(开发)博客“在模型更改时删除和创建表”:

http://www.davidcline.info/2012/05/technologies-c-v4.html

这个链接可能会有所帮助:

http://blogs.microsoft.co.il/blogs/gilf/archive/2011/05/30/creating-a-code-first-database-initializer-strategy.aspx

谢谢,
哈恰图尔

关于entity-framework-4.1 - SQL Code First DB - 创建表,而不是删除/创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7395098/

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