.NET .NET Aspire intégration de l'hébergement des projets de base de données SQL
Inclut :intégration d’hébergementpasClient d’intégration
Remarque
Cette intégration fait partie du community Toolkit
Dans cet article, vous allez apprendre à utiliser l’intégration d’hébergement .NET Aspire projets SQL Database pour publier votre schéma de base de données dans votre base de données SQL Server.
Conditions préalables
Cette intégration nécessite un projet SQL Database basé sur MSBuild.Sdk.SqlProj ou Microsoft.Build.Sql.
Intégration de l’hébergement
Pour commencer à utiliser l'intégration d'hébergement des projets de bases de données SQL .NET.NET Aspire, installez le package NuGet 📦 CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects dans le projet hôte de l'application.
dotnet add package CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects
Pour plus d’informations, consultez dotnet add package ou Gérer les dépendances de packages dans les applications .NET.
Exemple d’utilisation
Ajoutez une référence au projet 📦 MSBuild.Sdk.SqlProj ou 📦 projet Microsoft.Build.Sql que vous souhaitez publier dans votre projet hôte d’application .NET.NET Aspire :
dotnet add reference ../MySqlProj/MySqlProj.csproj
Remarque
L’ajout de cette référence entraîne actuellement l’avertissement ASPIRE004
sur le projet en raison de la façon dont les références sont analysées. L’équipe .NET.NET Aspire est consciente de cela et nous travaillons à une solution plus propre.
Ajoutez le projet en tant que ressource à votre .NET.NET Aspire AppHost :
var builder = DistributedApplication.CreateBuilder(args);
var sql = builder.AddSqlServer("sql")
.AddDatabase("test");
builder.AddSqlProject<Projects.MySqlProj>("mysqlproj")
.WithReference(sql);
À présent, lorsque vous exécutez votre projet hôte d’application .NET Aspire, vous voyez le projet de base de données SQL publié vers la SQL Serverspécifiée.
Prise en charge des fichiers .dacpac locaux
Si vous approvisionnez votre fichier .dacpac à partir d’un autre emplacement qu’une référence de projet, vous pouvez également spécifier le chemin d’accès au fichier .dacpac directement :
var builder = DistributedApplication.CreateBuilder(args);
var sql = builder.AddSqlServer("sql")
.AddDatabase("test");
builder.AddSqlProject("mysqlproj")
.WithDacpac("path/to/mysqlproj.dacpac")
.WithReference(sql);
Prise en charge des options de déploiement
Pour définir des options qui affectent le comportement du déploiement de package, appelez l’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();
Code précédent :
- Ajoute une ressource SQL server nommée
sql
et ajoute une ressource de base de donnéestest
. - Ajoute une ressource de projet SQL nommée
mysqlproj
, puis configure l'DacDeployOptions. - La ressource de projet SQL dépend de la ressource de base de données.
Soutien au redéploiement
Si vous apportez des modifications à votre projet SQL Database pendant l’exécution de l’hôte de l’application, vous pouvez utiliser l’action Redeploy
personnalisée sur le tableau de bord .NET.NET Aspire pour redéployer vos mises à jour sans avoir à redémarrer l’hôte de l’application.