gpt4 book ai didi

entity-framework - Azure EF Code First 迁移初始化程序

转载 作者:行者123 更新时间:2023-12-04 23:06:06 25 4
gpt4 key购买 nike

我只是在摆弄 Azure,而且我似乎无法让我的 Db 工作。我遵循这里所说的:https://www.windowsazure.com/en-us/develop/net/tutorials/web-site-with-sql-database/我更新了我的 web.config 以具有以下内容:

  <entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<contexts>
<context type="DownloadThis.Models.DownloadThisDb, DownloadThisDb">
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion">
<parameters>
<parameter value="DownloadThisDb_DatabasePublish" />
</parameters>
</databaseInitializer>
</context>
</contexts>
</entityFramework>

如示例所示,但我不断收到此错误:

Format of the initialization string does not conform to specification starting at index 0.

我已经三次检查了我的连接字符串,所以不是这样 - 有什么想法吗?

最佳答案

假设您使用 VS2012 发布向导进行发布,我遇到了同样的问题。如果您选择让发布向导启用代码优先迁移,而不是在代码中手动连接它们,那么您需要在发布设置中提供连接字符串。您的正常连接字符串不用于运行迁移,此新连接字符串仅用于此目的。这很好,因为您可以指定一个具有更高权限的帐户来执行迁移,但是您的应用程序不会在此用户上下文下运行。问题是向导并没有使指定此连接字符串的需要变得非常明显。当您不提供此信息时,您最终会得到一个空的迁移连接字符串,并且您会花费大量时间尝试找出正常连接字符串出了什么问题。

Publish Web Application Settings

假设您的上下文类名为 FooContext。按照惯例,您的 web.config 中将有一个名为 FooContext 的连接字符串。当您通过此向导启用代码迁移时,向导将创建第二个名为 FooContext_DatabasePublish 的连接字符串,该字符串仅用于运行代码优先迁移。

这个blog post on MSDN详细解释了这个过程。

关于entity-framework - Azure EF Code First 迁移初始化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11963331/

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