C# 在不部署数据库属性的情况下部署via代码dacpac
我有一个dacpac文件,我正在通过使用DacServices库的应用程序部署它。我有以下代码来执行此操作:C# 在不部署数据库属性的情况下部署via代码dacpac,c#,sql-server,dacpac,C#,Sql Server,Dacpac,我有一个dacpac文件,我正在通过使用DacServices库的应用程序部署它。我有以下代码来执行此操作: var dp = DacPackage.Load(dacpacPath); var dbDeployOptions = new DacDeployOptions { BlockOnPossibleDataLoss = false }; var dbServices = new DacServices(WebConfigHelper.GetDbConnectionString(we
var dp = DacPackage.Load(dacpacPath);
var dbDeployOptions = new DacDeployOptions
{
BlockOnPossibleDataLoss = false
};
var dbServices = new DacServices(WebConfigHelper.GetDbConnectionString(webConfigPath));
dbServices.Deploy(dp, WebConfigHelper.GetDbName(webConfigPath), true, dbDeployOptions);
问题是,使用这段代码,目标数据库总是将其恢复模型更改为“完整”,这是在SSDT数据库项目(生成dacpac)中设置的
我们部署的各种目标数据库使用各种数据库属性,我们不知道目标DBs恢复模型。有些使用简单,有些使用完全-我们不想改变它
如何更改此代码,使其不会对目标数据库属性进行任何更改?我已经尝试在数据库项目中取消选中“部署数据库属性”设置,但是上面的代码似乎覆盖了这一点。DacDeployOptions类包含一个
ScriptDatabaseOptions
布尔值,可以将其设置为false以保留现有的数据库设置或使用新数据库设置的默认值。是否尝试过DacDeployOptions.ScriptDatabaseOptions=false?非常感谢。我看了两遍财产清单,不知怎么的,错过了两次。如果你在下面写下答案,我会接受它作为解决方案。