From 7511f689cc791618a846a07876b952dfffe6f98d Mon Sep 17 00:00:00 2001 From: marcchevaldonne Date: Thu, 2 Feb 2023 10:49:26 +0100 Subject: [PATCH] SQLite & SqlServer providers --- .../Entity-Framework/Providers/Mariadb.mdx | 6 +- .../Entity-Framework/Providers/Postgres.mdx | 6 +- .../Entity-Framework/Providers/SQLite.mdx | 65 +++++++++++++++++ .../Entity-Framework/Providers/SqlServer.mdx | 69 +++++++++++++++++++ 4 files changed, 140 insertions(+), 6 deletions(-) create mode 100644 Documentation/docusaurus/docs/Entity-Framework/Providers/SQLite.mdx create mode 100644 Documentation/docusaurus/docs/Entity-Framework/Providers/SqlServer.mdx diff --git a/Documentation/docusaurus/docs/Entity-Framework/Providers/Mariadb.mdx b/Documentation/docusaurus/docs/Entity-Framework/Providers/Mariadb.mdx index a5106d9..163939f 100644 --- a/Documentation/docusaurus/docs/Entity-Framework/Providers/Mariadb.mdx +++ b/Documentation/docusaurus/docs/Entity-Framework/Providers/Mariadb.mdx @@ -1,6 +1,6 @@ --- -sidebar_label: '5.2. MariaDB' -sidebar_position: 2 +sidebar_label: '5.3. MariaDB' +sidebar_position: 3 description: "explique comment utiliser le fournisseur MariaDB" --- @@ -79,4 +79,4 @@ Vous pouvez maintenant créer les migrations et la base de données à l'aide de ``` dotnet ef migrations add myMigrationName dotnet ef database update -```` \ No newline at end of file +``` \ No newline at end of file diff --git a/Documentation/docusaurus/docs/Entity-Framework/Providers/Postgres.mdx b/Documentation/docusaurus/docs/Entity-Framework/Providers/Postgres.mdx index ce2d9a9..0d1fecb 100644 --- a/Documentation/docusaurus/docs/Entity-Framework/Providers/Postgres.mdx +++ b/Documentation/docusaurus/docs/Entity-Framework/Providers/Postgres.mdx @@ -1,6 +1,6 @@ --- -sidebar_label: '5.1. Postgres' -sidebar_position: 1 +sidebar_label: '5.2. Postgres' +sidebar_position: 2 description: "explique comment utiliser le fournisseur Postgres" --- @@ -66,4 +66,4 @@ Vous pouvez maintenant créer les migrations et la base de données à l'aide de ``` dotnet ef migrations add myMigrationName dotnet ef database update -```` \ No newline at end of file +``` \ No newline at end of file diff --git a/Documentation/docusaurus/docs/Entity-Framework/Providers/SQLite.mdx b/Documentation/docusaurus/docs/Entity-Framework/Providers/SQLite.mdx new file mode 100644 index 0000000..d73c8df --- /dev/null +++ b/Documentation/docusaurus/docs/Entity-Framework/Providers/SQLite.mdx @@ -0,0 +1,65 @@ +--- +sidebar_label: '5.1. SQLite' +sidebar_position: 1 +description: "explique comment utiliser le fournisseur SQLite" +--- + +# Utilisation du fournisseur SQLite +*02/02/2023 ⋅ Marc Chevaldonné* + +--- + +:::note base de données en local +Cette méthode utilise SQLite à travers une base de données dans un fichier local. +Pour explorer le contenu de la base, vous pouvez utiliser un logiciel comme [**DB Browser for SQLite**](https://sqlitebrowser.org/dl/) +::: + +## NuGet +Depuis Visual Studio (mac ou windows), installez les packages NuGet suivants, dans le projet contenant votre ```DbContext``` et vos entités : +- Microsoft.EntityFrameworkCore +- Microsoft.EntityFrameworkCore.Tools +- Microsoft.EntityFrameworkCore.SQLite + +## DbContext +Dans votre classe héritant de DbContext, utilisez la méthode d'extension ```UseSqlite```. + +```csharp MyDbContext +public class MyDbContext : DbContext +{ + //... + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + //... + optionsBuilder.UseSqlite($"Data Source=LeNomDe.MaBase.db"); + //... + } +} +``` + +Dans le projet de démarrage (.csproj) qui contiendra la base de données et devra l'utiliser, +n'oubliez pas de rajouter la ligne suivante pour lui permettre de la trouver dans le bon dossier : +```xml StartupProject.csproj + + + ... + + + Exe + ... + $(MSBuildProjectDirectory) + + + ... + +``` + +Pour le reste de votre projet EntityFrameworkCore, aucune différence avec les méthodes présentées précédemment. + +## Migrations et création de la base de données +Vous pouvez maintenant créer les migrations et la base de données à l'aide des commandes classiques +(par exemple depuis le projet dans lequel se trouve votre classe héritant de ```DbContext````) : +``` +dotnet ef migrations add myMigrationName +dotnet ef database update --startup-project path/to/the/startup/project/ +```` \ No newline at end of file diff --git a/Documentation/docusaurus/docs/Entity-Framework/Providers/SqlServer.mdx b/Documentation/docusaurus/docs/Entity-Framework/Providers/SqlServer.mdx new file mode 100644 index 0000000..d21d8ae --- /dev/null +++ b/Documentation/docusaurus/docs/Entity-Framework/Providers/SqlServer.mdx @@ -0,0 +1,69 @@ +--- +sidebar_label: '5.4. SqlServer' +sidebar_position: 4 +description: "explique comment utiliser le fournisseur SqlServer (seulement windows)" +--- + +# Utilisation du fournisseur SqlServer (seulement Windows) +*02/02/2023 ⋅ Marc Chevaldonné* + +--- + +:::note base de données en local +Cette méthode utilise SqlServer à travers une base de données dans en local. + +Vous pouvez vérifier le contenu de votre base en utilisant l'*Explorateur d'objets SQL Server* (voir plus bas). +::: + +## NuGet +Depuis Visual Studio (mac ou windows), installez les packages NuGet suivants, dans le projet contenant votre ```DbContext``` et vos entités : +- Microsoft.EntityFrameworkCore +- Microsoft.EntityFrameworkCore.Tools +- Microsoft.EntityFrameworkCore.SqlServer + +## DbContext +Dans votre classe héritant de DbContext, utilisez la méthode d'extension ```UseSqlServer```. + +```csharp MyDbContext +public class MyDbContext : DbContext +{ + //... + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + //... + optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=LeNomDe.MaBase.mdf;Trusted_Connection=True;"); + //... + } +} +``` + +Pour le reste de votre projet EntityFrameworkCore, aucune différence avec les méthodes présentées précédemment. + +## Migrations et création de la base de données +Vous pouvez maintenant créer les migrations et la base de données à l'aide des commandes classiques +(par exemple depuis le projet dans lequel se trouve votre classe héritant de ```DbContext````) : +``` +dotnet ef migrations add myMigrationName +dotnet ef database update --startup-project path/to/the/startup/project/ +``` + +## Comment explorer le contenu de la base de données ? + +Vous pouvez vérifier le contenu de votre base en utilisant l'*Explorateur d'objets SQL Server* (voir plus bas). + +* Pour cela, allez dans le menu *Affichage* puis *Explorateur d'objets SQL Server*. +![Sql Server](./Fundamentals/ConnectionStringsFiles/sqlserver_01.png) + +* Déployez dans l'*Explorateur d'objets SQL Server* : + * *SQL Server*, + * puis *(localdb)\MSSQLLocalDB ...*, + * puis *Bases de données* + * puis celle portant le nom de votre migration, ici par exemple : *myFirstDatabase.Nounours.mdf* + * puis *Tables* + * Faites un clic droit sur la table (par exemple ici : *dbo.Nounours*) puis choisissez *Afficher les données* +![Sql Server](./Fundamentals/ConnectionStringsFiles/sqlserver_02.png) + + * Vous devriez maintenant pouvoir voir les données dans le tableau. + +Notez qu'il est également possible d'utiliser l'*Explorateur d'objets SQL Server* pour ajouter, modifier ou supprimer des données dans les tables.