Asp.net 如何为实体框架数据库使用dbDacFx Web部署提供程序?
我正在Visual Studio 2012下编写一个ASP.NET Web表单应用程序。我有一个实体框架代码第一个上下文类,它将我的C#对象与数据库链接起来。但是这个上下文是使用数据库优先的方法自动生成的。我在数据库中使用了独特的索引和用户聚合等特性,而EF5中模型优先方法的代码优先不支持这些特性 我正在使用按钮部署我的项目。我的数据库被识别为EF数据库,我看到了“执行代码优先迁移”复选框,但它是灰色的: 没关系,因为我使用数据库优先的方法。但是我想使用“更新数据库”选项,它出现在我的默认连接中,只是用来同步数据库模式。如“dbDacFx Web部署提供程序”部分所述。怎么做Asp.net 如何为实体框架数据库使用dbDacFx Web部署提供程序?,asp.net,entity-framework,database-schema,visual-studio-2012,webdeploy,Asp.net,Entity Framework,Database Schema,Visual Studio 2012,Webdeploy,我正在Visual Studio 2012下编写一个ASP.NET Web表单应用程序。我有一个实体框架代码第一个上下文类,它将我的C#对象与数据库链接起来。但是这个上下文是使用数据库优先的方法自动生成的。我在数据库中使用了独特的索引和用户聚合等特性,而EF5中模型优先方法的代码优先不支持这些特性 我正在使用按钮部署我的项目。我的数据库被识别为EF数据库,我看到了“执行代码优先迁移”复选框,但它是灰色的: 没关系,因为我使用数据库优先的方法。但是我想使用“更新数据库”选项,它出现在我的默认连接
如果我理解正确,我始终可以为此手动使用Microsoft SQL Management Studio。在这种情况下如何手动执行此操作?您可以在Web.config文件的ConnectionString元素中创建另一个具有不同名称的连接字符串条目。它将显示在带有dbDacFx选项的“发布”对话框中 该场景类似于在不使用迁移的情况下首先部署代码——请参见Tom(tdykstra)是正确的。您需要在web.config中创建一个新的连接字符串,以使用dbDacFx发布模型,而不是使用EF CF迁移 “Web发布”对话框支持两种类型的数据库发布机制:
在您的例子中,您有一个连接字符串DatabaseEntities,由EF CF上下文使用。您应该在DatabaseEntities publish的
web.config
中创建一个新的连接字符串,该字符串仅在发布期间使用。您需要确保要发布到的连接字符串位于DatabaseEntities和DatabaseEntities publish的文本框中。感谢您的澄清。请看一下我的相关问题:我无法获得web发布包来部署数据库。我在PublishSQL选项卡中设置了它,但它根本没有部署。我首先在Visual Studio 2013中使用数据库。第一次使用“发布”对话框时,它显示正在部署数据库。现在,当我打开“发布”对话框时,数据库从未包含在发布中。