.NET .NET Aspire Hostování integrace projektů SQL databáze
zahrnuje:integrace hostování ne Client integrace
Poznámka
Tato integrace je součástí sady
V tomto článku se dozvíte, jak pomocí integrace hostujících projektů .NET Aspire SQL Database publikovat schéma vaší databáze do databáze SQL Server.
Požadavky
Tato integrace vyžaduje projekt sql Database založený na MSBuild.Sdk.SqlProj nebo Microsoft.Build.Sql.
Integrace hostování
Chcete-li začít s integrací hostování SQL Database projektů .NET.NET Aspire, nainstalujte 📦 CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects NuGet balíček v projektu hostování aplikace.
dotnet add package CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects
Další informace naleznete v tématu dotnet add package nebo Správa závislostí balíčků v aplikacích .NET.
Příklad využití
Přidejte odkaz na 📦 MSBuild.Sdk.SqlProj nebo 📦 projektu Microsoft.Build.Sql, který chcete publikovat v hostitelském projektu aplikace .NET.NET Aspire:
dotnet add reference ../MySqlProj/MySqlProj.csproj
Poznámka
Přidání tohoto odkazu v současné době způsobí, že se v projektu zobrazí upozornění ASPIRE004
kvůli tomu, jak se odkazy analyzují. Tým .NET.NET Aspire o tom ví a pracujeme na čistějším řešení.
Přidejte projekt jako prostředek do aplikace .NET.NET Aspire AppHost.
var builder = DistributedApplication.CreateBuilder(args);
var sql = builder.AddSqlServer("sql")
.AddDatabase("test");
builder.AddSqlProject<Projects.MySqlProj>("mysqlproj")
.WithReference(sql);
Když teď spustíte projekt hostitele aplikace .NET Aspire, uvidíte, že se projekt služby SQL Database publikuje do zadaného SQL Server.
Podpora místních souborů .dacpac
Pokud získáváte svůj soubor .dacpac odjinud než z odkazu na projekt, můžete také přímo zadat cestu k souboru .dacpac:
var builder = DistributedApplication.CreateBuilder(args);
var sql = builder.AddSqlServer("sql")
.AddDatabase("test");
builder.AddSqlProject("mysqlproj")
.WithDacpac("path/to/mysqlproj.dacpac")
.WithReference(sql);
Podpora možností nasazení
Pokud chcete definovat možnosti, které ovlivňují chování nasazení balíčku, zavolejte rozhraní API WithConfigureDacDeployOptions
:
var builder = DistributedApplication.CreateBuilder(args);
var sql = builder.AddSqlServer("sql")
.AddDatabase("test");
builder.AddSqlProject("mysqlproj")
.WithConfigureDacDeployOptions(options => options.IncludeCompositeObjects = true)
.WithReference(sql);
builder.Build().Run();
Předchozí kód:
- Přidá prostředek SQL server s názvem
sql
a přidá do něj databázový prostředektest
. - Přidá zdroj projektu SQL s názvem
mysqlproj
a nakonfiguruje DacDeployOptions. - Zdroj projektu SQL závisí na databázovém zdroji.
Opětovné nasazení podpory
Pokud v projektu SQL Database provedete změny, zatímco aplikace host běží, můžete na řídicím panelu .NET.NET Aspire použít vlastní akci Redeploy
pro opětovné nasazení aktualizací, aniž byste museli restartovat aplikaci host.