Sdílet prostřednictvím


.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 Community Toolkit a není oficiálně podporovaná týmem .

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ředek test.
  • 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.

Viz také