updated ex_041_001

EFCore3_Reforged
Marc CHEVALDONNE 6 years ago
parent d225f95082
commit 7557bcae1a

@ -544,7 +544,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_LISEZ-MOI_ !!", "_LISEZ-MO
p08_BDD_EntityFramework\ReadMe.md = p08_BDD_EntityFramework\ReadMe.md p08_BDD_EntityFramework\ReadMe.md = p08_BDD_EntityFramework\ReadMe.md
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ex_041_001_ConnectionStrings", "p08_BDD_EntityFramework\ex_041_001_ConnectionStrings\ex_041_001_ConnectionStrings.csproj", "{097B0926-6663-4B7E-BBBE-DAA7EE278C7C}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_041_001_ConnectionStrings", "p08_BDD_EntityFramework\ex_041_001_ConnectionStrings\ex_041_001_ConnectionStrings.csproj", "{097B0926-6663-4B7E-BBBE-DAA7EE278C7C}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution

@ -1,5 +1,7 @@
# Entity Framework Core 3.0 # Entity Framework Core 3.0
*31/12/2019 ⋅ Marc Chevaldonné*
---
Entity Framework (EF) Core est un ORM (Object-Relational Mapper) qui permet aux développeurs .NET de gérer de manière simple, légère et extensible, des bases de données. Entity Framework (EF) Core est un ORM (Object-Relational Mapper) qui permet aux développeurs .NET de gérer de manière simple, légère et extensible, des bases de données.
EF permet de gérer de nombreux *providers* (SQL Server, SQLite, Cosmos, ...) de manière transparente. EF permet de gérer de nombreux *providers* (SQL Server, SQLite, Cosmos, ...) de manière transparente.
EF vous permet également de mettre à jour vos bases de données et d'exécuter des requêtes sans avoir à écrire la moindre requête SQL. Vous pouvez passer par LINQ to SQL qui apportera plus de lisibilité et permettra au compilateur de vous aider à détecter vos erreurs. EF vous permet également de mettre à jour vos bases de données et d'exécuter des requêtes sans avoir à écrire la moindre requête SQL. Vous pouvez passer par LINQ to SQL qui apportera plus de lisibilité et permettra au compilateur de vous aider à détecter vos erreurs.
@ -14,6 +16,7 @@ Les exemples sont organis
1. *Fundamentals* : 1. *Fundamentals* :
Dans cette partie, je donnerai quelques notions pour se connecter à une base à l'aide de chaîne de connection (*connection strings*), comment utiliser des *providers de tests...*. Dans cette partie, je donnerai quelques notions pour se connecter à une base à l'aide de chaîne de connection (*connection strings*), comment utiliser des *providers de tests...*.
Il s'agira en conséquence d'exemples simples manquants d'explications sur certains points, car ils seront présentés plus tard. Il s'agira en conséquence d'exemples simples manquants d'explications sur certains points, car ils seront présentés plus tard.
* **ex_041_001 : Connection Strings** : montre comment utiliser une chaîne de connexion SQL Server ou SQLite.
2. *Model* : 2. *Model* :
Ce chapitre s'attardera sur le lien entre le modèle et la base de données. En effet, avec EF, l'accès aux données se fait via le modèle, c'est-à-dire l'ensemble de vos classes (qui seront reliées à des tables créées plus ou moins automatiquement) Ce chapitre s'attardera sur le lien entre le modèle et la base de données. En effet, avec EF, l'accès aux données se fait via le modèle, c'est-à-dire l'ensemble de vos classes (qui seront reliées à des tables créées plus ou moins automatiquement)
ainsi qu'un contexte (```DbContext```) qui représentera une session de connexion avec votre (ou vos) base(s) de données. ainsi qu'un contexte (```DbContext```) qui représentera une session de connexion avec votre (ou vos) base(s) de données.

@ -1,4 +1,7 @@
# ex_041_001_ConnectionStrings # ex_041_001_ConnectionStrings
*31/12/2019 ⋅ Marc Chevaldonné*
---
Cet exemple a pour but de présenter les chaîne de connexion (*connection strings*). Cet exemple a pour but de présenter les chaîne de connexion (*connection strings*).
* Les *connection strings* servent à se connecter à une base de données. * Les *connection strings* servent à se connecter à une base de données.
@ -6,7 +9,8 @@ Cet exemple a pour but de présenter les chaîne de connexion (*connection strin
* Parfois, elles nécessitent des informations telles que un nom d'utilisateur et un mot de passe qu'on peut vouloir cacher * Parfois, elles nécessitent des informations telles que un nom d'utilisateur et un mot de passe qu'on peut vouloir cacher
Dans cet exemple, j'ai voulu montrer deux *connection strings* : une pour SQL Server et une autre pour SQLite. Dans cet exemple, j'ai voulu montrer deux *connection strings* : une pour SQL Server et une autre pour SQLite.
---
## Configuration ## Configuration
Il faut penser à ajouter les NuGet suivants : Il faut penser à ajouter les NuGet suivants :
* Microsoft.EntityFrameworkCore : pour le projet en général * Microsoft.EntityFrameworkCore : pour le projet en général
@ -103,4 +107,8 @@ Pour vérifier le contenu de votre base SQLite, vous pouvez utiliser le programm
* Observez les résultats obtenus * Observez les résultats obtenus
![DB Browser for SQLite](./readmefiles/dbbrowser_02.png) ![DB Browser for SQLite](./readmefiles/dbbrowser_02.png)
---
Copyright © 2019-2020 Marc Chevaldonné

@ -9,11 +9,6 @@
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.0" />
<!--<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="3.1.0" />--> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.0"/>
<!--<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.6" />-->
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.0">
<!--<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>-->
</PackageReference>
</ItemGroup> </ItemGroup>
</Project> </Project>

@ -1,14 +1,13 @@
#### to do #### to do
##### fundamentals (41) ##### fundamentals (41)
* connection strings * connection strings
* exemple avec une connection string dans OnConfiguring * V 001 exemple avec une connection string dans OnConfiguring
* exemple avec une connection string dans AppConfig (WPF) * 002 exemple avec une connection string dans AppConfig ou équivalent ?
* exemple avec une connection string appsettings.json (ASP.NET Core) * 003 le même avec SecretManager pour les mots de passe ?
* exemple avec UWP ? * 006 connection resiliency ?
* connection resiliency ?
* testing * testing
* SQLite in memory * 004 SQLite in memory
* InMemory * 005 InMemory
* configuring a dbcontext ? * configuring a dbcontext ?
* nullable reference types => navigating (include, theninclude) * nullable reference types => navigating (include, theninclude)
##### creating a model (42) ##### creating a model (42)

Loading…
Cancel
Save