diff --git a/Exemples.sln b/Exemples.sln
index 9851cd0..fecc670 100644
--- a/Exemples.sln
+++ b/Exemples.sln
@@ -412,8 +412,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_039_002_LINQ_to_XML", "e
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_040_001_LINQ_to_Json", "ex_040_001_LINQ_to_Json\ex_040_001_LINQ_to_Json.csproj", "{B506ECD8-853D-4E69-8F0A-AFCDB7FEABF3}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_042_009_EF_CF_One_to_Many_FluentAPI", "ex_042_009_EF_CF_One_to_Many_FluentAPI\ex_042_009_EF_CF_One_to_Many_FluentAPI.csproj", "{2C53F069-6E87-4A36-8915-E0219EBA8BA7}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_042_010_EF_CF_Many_to_Many", "ex_042_010_EF_CF_Many_to_Many\ex_042_010_EF_CF_Many_to_Many.csproj", "{C6EF99F3-959D-4096-8ABE-140596DD14BD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ex_042_012_EF_CF_Dictionary", "ex_042_012_EF_CF_Dictionary\ex_042_012_EF_CF_Dictionary.csproj", "{D9BE7F40-ADCE-415B-AF36-8D9B40B6DB7F}"
@@ -3487,26 +3485,6 @@ Global
{B506ECD8-853D-4E69-8F0A-AFCDB7FEABF3}.Release|x64.Build.0 = Release|Any CPU
{B506ECD8-853D-4E69-8F0A-AFCDB7FEABF3}.Release|x86.ActiveCfg = Release|Any CPU
{B506ECD8-853D-4E69-8F0A-AFCDB7FEABF3}.Release|x86.Build.0 = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|ARM.Build.0 = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|ARM64.Build.0 = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|x64.ActiveCfg = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|x64.Build.0 = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|x86.ActiveCfg = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Debug|x86.Build.0 = Debug|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|Any CPU.Build.0 = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|ARM.ActiveCfg = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|ARM.Build.0 = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|ARM64.ActiveCfg = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|ARM64.Build.0 = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|x64.ActiveCfg = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|x64.Build.0 = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|x86.ActiveCfg = Release|Any CPU
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7}.Release|x86.Build.0 = Release|Any CPU
{C6EF99F3-959D-4096-8ABE-140596DD14BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C6EF99F3-959D-4096-8ABE-140596DD14BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C6EF99F3-959D-4096-8ABE-140596DD14BD}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -4329,24 +4307,34 @@ Global
{A14CDD6E-3E6E-4E7A-9277-3F00C0F658FD}.Release|x86.Build.0 = Release|Any CPU
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|Any CPU.ActiveCfg = Debug|x86
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|Any CPU.Build.0 = Debug|x86
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|Any CPU.Deploy.0 = Debug|x86
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|ARM.ActiveCfg = Debug|ARM
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|ARM.Build.0 = Debug|ARM
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|ARM.Deploy.0 = Debug|ARM
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|ARM64.ActiveCfg = Debug|ARM64
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|ARM64.Build.0 = Debug|ARM64
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|ARM64.Deploy.0 = Debug|ARM64
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|x64.ActiveCfg = Debug|x64
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|x64.Build.0 = Debug|x64
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|x64.Deploy.0 = Debug|x64
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|x86.ActiveCfg = Debug|x86
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|x86.Build.0 = Debug|x86
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Debug|x86.Deploy.0 = Debug|x86
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|Any CPU.ActiveCfg = Release|x86
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|Any CPU.Build.0 = Release|x86
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|Any CPU.Deploy.0 = Release|x86
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|ARM.ActiveCfg = Release|ARM
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|ARM.Build.0 = Release|ARM
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|ARM.Deploy.0 = Release|ARM
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|ARM64.ActiveCfg = Release|ARM64
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|ARM64.Build.0 = Release|ARM64
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|ARM64.Deploy.0 = Release|ARM64
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|x64.ActiveCfg = Release|x64
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|x64.Build.0 = Release|x64
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|x64.Deploy.0 = Release|x64
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|x86.ActiveCfg = Release|x86
{0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|x86.Build.0 = Release|x86
+ {0D922BCD-7C0F-43FF-A015-F547716B8284}.Release|x86.Deploy.0 = Release|x86
{097B0926-6663-4B7E-BBBE-DAA7EE278C7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{097B0926-6663-4B7E-BBBE-DAA7EE278C7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{097B0926-6663-4B7E-BBBE-DAA7EE278C7C}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -4982,7 +4970,6 @@ Global
{CF1AE501-3518-45CC-94AA-D6DE047EA022} = {13CDB6B1-9B1D-43A9-9E9E-08989D55ACA5}
{26400B99-2FB6-4B5F-BE2B-D15124F2B51D} = {13CDB6B1-9B1D-43A9-9E9E-08989D55ACA5}
{B506ECD8-853D-4E69-8F0A-AFCDB7FEABF3} = {3BD95300-E2F6-4CA6-B4CC-5D19DF5C6AC0}
- {2C53F069-6E87-4A36-8915-E0219EBA8BA7} = {593200F9-6D14-43BC-9289-8BB75FAC6552}
{C6EF99F3-959D-4096-8ABE-140596DD14BD} = {593200F9-6D14-43BC-9289-8BB75FAC6552}
{D9BE7F40-ADCE-415B-AF36-8D9B40B6DB7F} = {593200F9-6D14-43BC-9289-8BB75FAC6552}
{504AB98B-3C2D-493B-BA70-6D67734732D5} = {663523E4-3B60-4534-876F-8BD77110E6D8}
diff --git a/ex_003_001_Main/ex_003_001_Main.csproj b/ex_003_001_Main/ex_003_001_Main.csproj
index 5b0af13..ca4c50e 100644
--- a/ex_003_001_Main/ex_003_001_Main.csproj
+++ b/ex_003_001_Main/ex_003_001_Main.csproj
@@ -1,9 +1,9 @@
net5.0
- ex_005.0.7_Main
+ ex_003_001_Main
Exe
- ex_005.0.7_Main
+ ex_003_001_Main
5.0.7
false
false
diff --git a/ex_013_001_FormattingParsingNumEtBool/ex_013_001_FormattingParsingNumEtBool.csproj b/ex_013_001_FormattingParsingNumEtBool/ex_013_001_FormattingParsingNumEtBool.csproj
index 8e69ab3..8bd418d 100644
--- a/ex_013_001_FormattingParsingNumEtBool/ex_013_001_FormattingParsingNumEtBool.csproj
+++ b/ex_013_001_FormattingParsingNumEtBool/ex_013_001_FormattingParsingNumEtBool.csproj
@@ -1,9 +1,9 @@
net5.0
- ex_015.0.7_FormattingParsingNumEtBool
+ ex_013_001_FormattingParsingNumEtBool
Exe
- ex_015.0.7_FormattingParsingNumEtBool
+ ex_013_001_FormattingParsingNumEtBool
5.0.7
false
false
diff --git a/ex_023_001_IEnumerator_ex1/ex_023_001_IEnumerator_ex1.csproj b/ex_023_001_IEnumerator_ex1/ex_023_001_IEnumerator_ex1.csproj
index d71d35b..1129d84 100644
--- a/ex_023_001_IEnumerator_ex1/ex_023_001_IEnumerator_ex1.csproj
+++ b/ex_023_001_IEnumerator_ex1/ex_023_001_IEnumerator_ex1.csproj
@@ -1,9 +1,9 @@
net5.0
- ex_025.0.7_IEnumerator_ex1
+ ex_023_001_IEnumerator_ex1
Exe
- ex_025.0.7_IEnumerator_ex1
+ ex_023_001_IEnumerator_ex1
5.0.7
false
false
diff --git a/ex_036_001_Reflection/Solution/Applications/Program.cs b/ex_036_001_Reflection/Solution/Applications/Program.cs
index de4845d..e6526d0 100644
--- a/ex_036_001_Reflection/Solution/Applications/Program.cs
+++ b/ex_036_001_Reflection/Solution/Applications/Program.cs
@@ -28,7 +28,7 @@ namespace Reflection
//permet d'accéder au dossier courant (ici l'endroit où se trouve l'exécutable)
WriteLine(System.IO.Directory.GetCurrentDirectory());
- DirectoryInfo folder = new DirectoryInfo(Directory.GetCurrentDirectory().ToString()+"..\\..\\..\\plugin\\netcoreapp3.0\\");
+ DirectoryInfo folder = new DirectoryInfo(Directory.GetCurrentDirectory().ToString()+"..\\..\\..\\..\\plugin\\net5.0\\");
FileInfo[] files = folder.GetFiles();
foreach (FileInfo file in files.Where(f => f.Extension.Equals(".dll")))
diff --git a/ex_036_001_Reflection/Solution/Applications/ex_036_001_Reflection.csproj b/ex_036_001_Reflection/Solution/Applications/ex_036_001_Reflection.csproj
index da110c7..20a2d3b 100644
--- a/ex_036_001_Reflection/Solution/Applications/ex_036_001_Reflection.csproj
+++ b/ex_036_001_Reflection/Solution/Applications/ex_036_001_Reflection.csproj
@@ -23,10 +23,10 @@
- ..\..\bin\net5.0
+ ..\..\bin\debug
- ..\..\bin\net5.0
+ ..\..\bin\release
diff --git a/ex_036_001_Reflection/Solution/ChatChienOiseauDll/ex_036_001_ChatChienOiseau.csproj b/ex_036_001_Reflection/Solution/ChatChienOiseauDll/ex_036_001_ChatChienOiseau.csproj
index 6ef57c8..b90ee06 100644
--- a/ex_036_001_Reflection/Solution/ChatChienOiseauDll/ex_036_001_ChatChienOiseau.csproj
+++ b/ex_036_001_Reflection/Solution/ChatChienOiseauDll/ex_036_001_ChatChienOiseau.csproj
@@ -23,10 +23,10 @@
- ..\..\plugin\net5.0
+ ..\..\plugin
- ..\..\plugin\net5.0
+ ..\..\plugin
diff --git a/ex_036_001_Reflection/Solution/MammifereDll/ex_036_001_Mammifere.csproj b/ex_036_001_Reflection/Solution/MammifereDll/ex_036_001_Mammifere.csproj
index 397bb08..7dc0551 100644
--- a/ex_036_001_Reflection/Solution/MammifereDll/ex_036_001_Mammifere.csproj
+++ b/ex_036_001_Reflection/Solution/MammifereDll/ex_036_001_Mammifere.csproj
@@ -23,9 +23,9 @@
- ..\..\bin\net5.0
+ ..\..\bin\debug
- ..\..\bin\net5.0
+ ..\..\bin\release
diff --git a/ex_042_009_EF_CF_One_to_Many_FluentAPI/Album.cs b/ex_042_009_EF_CF_One_to_Many_FluentAPI/Album.cs
deleted file mode 100644
index 5467cc6..0000000
--- a/ex_042_009_EF_CF_One_to_Many_FluentAPI/Album.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-// ========================================================================
-//
-// Copyright (C) 2016-2017 MARC CHEVALDONNE
-// marc.chevaldonne.free.fr
-//
-// Module : Album.cs
-// Author : Marc Chevaldonné
-// Creation date : 2016-10-19
-//
-// ========================================================================
-
-
-using System;
-using System.Collections.Generic;
-
-namespace ex_042_009_EF_CF_One_to_Many_FluentAPI
-{
- ///
- /// Album est une classe POCO, i.e. Plain Old CLR Object.
- /// Elle a une relation 1-many avec la classe Morceau via la propriété Morceaux.
- ///
- public class Album
- {
- public Guid UniqueId
- {
- get; set;
- }
-
- public string Titre
- {
- get; set;
- }
-
- public DateTime DateDeSortie
- {
- get; set;
- }
-
- public virtual ICollection Morceaux { get; set; } = new List();
- }
-}
diff --git a/ex_042_009_EF_CF_One_to_Many_FluentAPI/AlbumDBEntities.cs b/ex_042_009_EF_CF_One_to_Many_FluentAPI/AlbumDBEntities.cs
deleted file mode 100644
index 62863b4..0000000
--- a/ex_042_009_EF_CF_One_to_Many_FluentAPI/AlbumDBEntities.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-// ========================================================================
-//
-// Copyright (C) 2016-2017 MARC CHEVALDONNE
-// marc.chevaldonne.free.fr
-//
-// Module : AlbumDBEntities.cs
-// Author : Marc Chevaldonné
-// Creation date : 2016-10-20
-//
-// ========================================================================
-
-
-using Microsoft.EntityFrameworkCore;
-using System;
-
-namespace ex_042_009_EF_CF_One_to_Many_FluentAPI
-{
- ///
- /// La classe qui dérive de DbContext est celle qui permettra de faire les opérations CRUD sur le modèle.
- /// Cette classe contient deux DbSet pour permettre de réaliser des opérations CRUD sur les types T, ici Album et Morceau.
- ///
- public class AlbumDBEntities : DbContext
- {
- public virtual DbSet Albums { get; set; }
- public virtual DbSet Morceaux { get; set; }
-
- protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
- {
- optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=ex_042_009_EF_CF_One_to_Many_FluentAPI.Albums.mdf;Trusted_Connection=True;");
- }
-
- ///
- /// méthode appelée lors de la création du modèle.
- ///
- ///
- protected override void OnModelCreating(ModelBuilder modelBuilder)
- {
- //création de la table TableNounours
- modelBuilder.Entity().ToTable("Albums"); //nom de la table
- modelBuilder.Entity().HasKey(a => a.UniqueId); //définition de la clé primaire
- modelBuilder.Entity().Property(a => a.UniqueId)
- .ValueGeneratedOnAdd(); //définition du mode de génération de la clé : génération à l'insertion
-
- //création de la table "Carnets"
- modelBuilder.Entity().ToTable("Morceaux"); // nom de la table
- modelBuilder.Entity().HasKey(m => m.UniqueId); //définition de la clé primaire
- modelBuilder.Entity().Property(m => m.UniqueId)
- .ValueGeneratedOnAdd(); // définition du mode de génération de la clé : pas de génération automatique
-
-
- //on crée une propriété fantôme (shadow property) pour l'entity Morceau qu'on utilisera comme clé étrangère (foreign key)
- // En effet, j'ai pris le cas où nous décidons d'utiliser une classe existante pour laquelle aucune clé étrangère n'a été prévue.
- // Il me semblait donc logique qu'on cherche à l'utiliser sans qu'elle soit dans le modèle
- modelBuilder.Entity().Property("AlbumId");
-
- //on précise qu'il y a une relation entre Album et Morceau
- modelBuilder.Entity().HasMany(a => a.Morceaux) // on dit que l'Album a plusieurs morceaux
- .WithOne(m => m.Album) // et que chaque morceau a un album
- .HasForeignKey("AlbumId"); //on utilise la clé étrangère fantôme créée précédemment
- //Si vous regardez la table obtenue, vous pouvez voir qu'Entity Framework a automatiquement généré une clé étrangère.
-
-
- base.OnModelCreating(modelBuilder);
- }
- }
-}
diff --git a/ex_042_009_EF_CF_One_to_Many_FluentAPI/DbContextInitializer.cs b/ex_042_009_EF_CF_One_to_Many_FluentAPI/DbContextInitializer.cs
deleted file mode 100644
index 5848087..0000000
--- a/ex_042_009_EF_CF_One_to_Many_FluentAPI/DbContextInitializer.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-// ========================================================================
-//
-// Copyright (C) 2016-2017 MARC CHEVALDONNE
-// marc.chevaldonne.free.fr
-//
-// Module : DbContextInitializer.cs
-// Author : Marc Chevaldonné
-// Creation date : 2016-10-19
-//
-// ========================================================================
-
-using Microsoft.EntityFrameworkCore;
-using System;
-
-namespace ex_042_009_EF_CF_One_to_Many_FluentAPI
-{
- ///
- /// initialiseur de stratégies...
- ///
- public static class DbContextInitializer
- {
- ///
- /// remplissage de la base avec des données stubbées.
- ///
- /// base à remplir
- public static void Seed(AlbumDBEntities context)
- {
- SetInitializer(context, InitializationStrategies.DropCreateDatabaseAlways);
-
- Album kindofblue = new Album { Titre = "Kind of Blue", DateDeSortie = new DateTime(1959, 8, 17) };
- Morceau[] kindofblueMorceaux = { new Morceau { Album = kindofblue, Titre = "So What" },
- new Morceau { Album = kindofblue, Titre = "Freddie Freeloader" },
- new Morceau { Album = kindofblue, Titre = "Blue in Green" },
- new Morceau { Album = kindofblue, Titre = "All Blues" },
- new Morceau { Album = kindofblue, Titre = "Flamenco Sketches" } };
- foreach (var m in kindofblueMorceaux) kindofblue.Morceaux.Add(m);
-
- Album dialogue = new Album { Titre = "Dialogue", DateDeSortie = new DateTime(1965, 9, 1) };
- Morceau[] dialogueMorceaux = { new Morceau { Album = dialogue, Titre = "Catta" },
- new Morceau { Album = dialogue, Titre = "Idle While" },
- new Morceau { Album = dialogue, Titre = "Les Noirs Marchant" },
- new Morceau { Album = dialogue, Titre = "Dialogue" },
- new Morceau { Album = dialogue, Titre = "Ghetto Lights" },
- new Morceau { Album = dialogue, Titre = "Jasper" } };
- foreach (var m in dialogueMorceaux) dialogue.Morceaux.Add(m);
-
- context.Albums.AddRange(new Album[] { kindofblue, dialogue });
- context.Morceaux.AddRange(kindofblueMorceaux);
- context.Morceaux.AddRange(dialogueMorceaux);
-
- context.SaveChanges();
- }
-
- ///
- /// les différentes stratégies de création de la base
- ///
- public enum InitializationStrategies
- {
- CreateDatabaseIfNotExists,
- DropCreateDatabaseIfModelChanges,
- DropCreateDatabaseAlways
- }
- public static void SetInitializer(DbContext context, InitializationStrategies strategy)
- {
- switch (strategy)
- {
- //par défaut : crée la base seulement si elle n'existe pas
- default:
- case InitializationStrategies.CreateDatabaseIfNotExists:
- context.Database.EnsureCreated();
- break;
-
- //recrée la base même si elle existe déjà
- case InitializationStrategies.DropCreateDatabaseAlways:
- context.Database.EnsureDeleted();
- context.Database.EnsureCreated();
- break;
-
- //recrée la base seulement si le modèle change : impossible aujourd'hui en Entity Framework Core...
- case InitializationStrategies.DropCreateDatabaseIfModelChanges:
- throw new NotImplementedException("Le mode DropCreateDatabaseIfModelChanges ne peut pas encore exister sous Entity Framework Core");
- }
- }
- }
-}
diff --git a/ex_042_009_EF_CF_One_to_Many_FluentAPI/Morceau.cs b/ex_042_009_EF_CF_One_to_Many_FluentAPI/Morceau.cs
deleted file mode 100644
index 661e279..0000000
--- a/ex_042_009_EF_CF_One_to_Many_FluentAPI/Morceau.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-// ========================================================================
-//
-// Copyright (C) 2016-2017 MARC CHEVALDONNE
-// marc.chevaldonne.free.fr
-//
-// Module : Morceau.cs
-// Author : Marc Chevaldonné
-// Creation date : 2016-10-19
-//
-// ========================================================================
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-
-namespace ex_042_009_EF_CF_One_to_Many_FluentAPI
-{
- ///
- /// Morceau est une classe POCO, i.e. Plain Old CLR Object.
- /// Elle a une relation 1-many avec la classe Morceau via la propriété Album.
- ///
- public class Morceau
- {
- public Guid UniqueId
- {
- get; set;
- }
-
- public string Titre
- {
- get; set;
- }
-
- public virtual Album Album
- {
- get; set;
- }
- }
-}
diff --git a/ex_042_009_EF_CF_One_to_Many_FluentAPI/Program.cs b/ex_042_009_EF_CF_One_to_Many_FluentAPI/Program.cs
deleted file mode 100644
index de9b0f9..0000000
--- a/ex_042_009_EF_CF_One_to_Many_FluentAPI/Program.cs
+++ /dev/null
@@ -1,86 +0,0 @@
-// ========================================================================
-//
-// Copyright (C) 2016-2017 MARC CHEVALDONNE
-// marc.chevaldonne.free.fr
-//
-// Module : Program.cs
-// Author : Marc Chevaldonné
-// Creation date : 2016-10-19
-//
-// ========================================================================
-
-using System;
-using static System.Console;
-
-namespace ex_042_009_EF_CF_One_to_Many_FluentAPI
-{
- class Program
- {
- ///
- /// Cet exemple montre comment construire une relation 1-many dans la base de données en utilisant les conventions de nommage Entity Framework.
- /// On préférera cette solution par exemple lorsque nous n'avons pas accès à la classe Model et que nous ne pouvons donc pas utiliser les conventions de nommage
- /// comme dans l'exemple précédent.
- ///
- /// on utilise les données stubbées de MyStubDataInitializationStrategy
- /// On affiche les Albums et les Morceaux.
- /// Constatez que les identifiants sont bien les mêmes à cause de la relation 1-many.
- ///
- /// Si vous ouvrez la base de données (via l'explorateur d'objets SQL Server), vous pourrez constater que la table Morceaux
- /// contient une colonne Album_UniqueId qui permet d'assurer la relation 1-many.
- ///
- ///
- static void Main(string[] args)
- {
- OutputEncoding = System.Text.Encoding.UTF8;
-
- try
- {
- //création du DbContext et injection de la dépendance à MyStubDataInitializationStrategy
- using (AlbumDBEntities db = new AlbumDBEntities())
- {
- //choix de la stratégie et remplissage avec des données stubbées
- DbContextInitializer.Seed(db);
-
- WriteLine("Albums : ");
- foreach (var a in db.Albums)
- {
- WriteLine($"\t{a.UniqueId}: {a.Titre} (sorti le : {a.DateDeSortie.ToString("d")})");
- foreach (var m in a.Morceaux)
- {
- WriteLine($"\t\t{m.Titre}");
- }
- }
-
- WriteLine();
-
- WriteLine("Morceaux :");
- foreach (var m in db.Morceaux)
- {
- WriteLine($"\t{m.UniqueId}: {m.Titre} (album : {m.Album.Titre})");
- }
-
- }
- }
- catch (NotImplementedException exception)
- {
- WriteLine(exception.Message);
- }
- catch (Exception e)
- {
- WriteLine("Votre base de données n'existe pas. C'est peut-être la première fois que vous exécutez cet exemple.");
- WriteLine("Pour créer la base de données, suivez les instructions suivantes (que vous retrouvez en commentaires dans la classe Program) :");
- WriteLine("Pour créer la base, ouvrez un invite de commandes et placez-vous dans le dossier de ce projet, ou bien,");
- WriteLine("- dans Visual Studio ouvrez la Console du Gestionnaire de package (Outils -> Gestionnaire de package NuGet -> Console du Gestionnaire de package),");
- WriteLine("- dans cette Console, vous devriez être dans le dossier de la solution, déplacez-vous dans celui du projet (ici : cd ex_042_009_EF_CF_One_to_Many_FluentAPI)");
- WriteLine("- tapez : dotnet restore (pour restaurer les packages .NET Core)");
- WriteLine("- tapez : dotnet ef migrations add MyFirstMigration");
- WriteLine(" note : vous pourrez détruire le dossier Migrations une fois la base créée");
- WriteLine("- tapez : dotnet ef database update");
- WriteLine(" Ceci génère la base de données en utilisant la migration, et en particulier votre classe DBContext et vos classes POCO.");
- WriteLine("\nDans cet exemple, une base de données SQLServer est créée et en particulier la table Nounours.mdf");
- }
-
- ReadLine();
- }
- }
-}
diff --git a/ex_042_009_EF_CF_One_to_Many_FluentAPI/ex_042_009_EF_CF_One_to_Many_FluentAPI.csproj b/ex_042_009_EF_CF_One_to_Many_FluentAPI/ex_042_009_EF_CF_One_to_Many_FluentAPI.csproj
deleted file mode 100644
index ddc3bd6..0000000
--- a/ex_042_009_EF_CF_One_to_Many_FluentAPI/ex_042_009_EF_CF_One_to_Many_FluentAPI.csproj
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
- net5.0
- ex_042_009_EF_CF_One_to_Many_FluentAPI
- Exe
- ex_042_009_EF_CF_One_to_Many_FluentAPI
- 5.0.7
- false
- false
- false
-
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
diff --git a/ex_042_011_EF_CF_Many_to_Many_FluentAPI/AlbumArtisteDBEntities.cs b/ex_042_011_EF_CF_Many_to_Many_FluentAPI/AlbumArtisteDBEntities.cs
index 0a39a52..b071e7b 100644
--- a/ex_042_011_EF_CF_Many_to_Many_FluentAPI/AlbumArtisteDBEntities.cs
+++ b/ex_042_011_EF_CF_Many_to_Many_FluentAPI/AlbumArtisteDBEntities.cs
@@ -25,7 +25,7 @@ namespace ex_042_011_EF_CF_Many_to_Many_FluentAPI
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
- optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=ex_042_010_EF_CF_Many_to_Many.mdf;Trusted_Connection=True;");
+ optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=ex_042_011_EF_CF_Many_to_Many_FluentAPI.mdf;Trusted_Connection=True;");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
diff --git a/ex_050_010_Threading_en_UWP/ex_050_010_Threading_en_UWP.csproj b/ex_050_010_Threading_en_UWP/ex_050_010_Threading_en_UWP.csproj
index 340549d..4392da0 100644
--- a/ex_050_010_Threading_en_UWP/ex_050_010_Threading_en_UWP.csproj
+++ b/ex_050_010_Threading_en_UWP/ex_050_010_Threading_en_UWP.csproj
@@ -137,7 +137,7 @@
-
+
diff --git a/ex_051_003_gestion_exceptions/Program.cs b/ex_051_003_gestion_exceptions/Program.cs
index c23090d..33abef0 100644
--- a/ex_051_003_gestion_exceptions/Program.cs
+++ b/ex_051_003_gestion_exceptions/Program.cs
@@ -20,17 +20,21 @@ namespace ex_051_003_gestion_exceptions
}
//l'exception est wrappée dans une AggregateException
//(l'intérêt est plus visible dans le cas de la programmation en parallèle)
- catch (AggregateException aggrEx)
+ catch(DivideByZeroException exc)
{
- if (aggrEx.InnerException is DivideByZeroException)
- {
- Console.WriteLine("division par zéro");
- }
- else
- {
- throw;
- }
+
}
+ //catch (AggregateException aggrEx)
+ //{
+ // if (aggrEx.InnerException is DivideByZeroException)
+ // {
+ // Console.WriteLine("division par zéro");
+ // }
+ // else
+ // {
+ // throw;
+ // }
+ //}
}
}
}
diff --git a/p08_BDD_EntityFramework/ex_041_001_ConnectionStrings/ex_041_001_ConnectionStrings.csproj b/p08_BDD_EntityFramework/ex_041_001_ConnectionStrings/ex_041_001_ConnectionStrings.csproj
index 032d7f8..1307a1f 100644
--- a/p08_BDD_EntityFramework/ex_041_001_ConnectionStrings/ex_041_001_ConnectionStrings.csproj
+++ b/p08_BDD_EntityFramework/ex_041_001_ConnectionStrings/ex_041_001_ConnectionStrings.csproj
@@ -6,9 +6,9 @@
$(MSBuildProjectDirectory)
-
-
-
-
+
+
+
+
diff --git a/p08_BDD_EntityFramework/ex_041_004_ConsoleTests_w_SQLite/ex_041_004_ConsoleTests_w_SQLite.csproj b/p08_BDD_EntityFramework/ex_041_004_ConsoleTests_w_SQLite/ex_041_004_ConsoleTests_w_SQLite.csproj
index b00b8f6..795913b 100644
--- a/p08_BDD_EntityFramework/ex_041_004_ConsoleTests_w_SQLite/ex_041_004_ConsoleTests_w_SQLite.csproj
+++ b/p08_BDD_EntityFramework/ex_041_004_ConsoleTests_w_SQLite/ex_041_004_ConsoleTests_w_SQLite.csproj
@@ -1,4 +1,4 @@
-
+
Exe
@@ -7,12 +7,12 @@
-
-
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
+
diff --git a/p08_BDD_EntityFramework/ex_041_004_TestingInMemory/ReadMe.md b/p08_BDD_EntityFramework/ex_041_004_TestingInMemory/ReadMe.md
index 42d8f2a..9562eb6 100644
--- a/p08_BDD_EntityFramework/ex_041_004_TestingInMemory/ReadMe.md
+++ b/p08_BDD_EntityFramework/ex_041_004_TestingInMemory/ReadMe.md
@@ -241,13 +241,13 @@ cd .\p08_BDD_EntityFramework\ex_041_004_ConsoleTests_w_SQLite
* ```dotnet tool install --global dotnet-ef --version 3.0.0``` si vous vous utiliser spécifiquement .NET Core 3.0.
- * Migration : comme la classe dérivant de ```DbContext``` se trouve dans l'application Console, nous n'avons pas à préciser dans quel projet elle se trouve.
+ * Migration : comme la classe dérivant de ```DbContext``` se trouve dans l'application Console, nous n'avons pas à préciser dans quel projet elle se trouve. En revanche, il y a désormais deux contextes (celui d'origine ```NounoursContext``` et celui pour SQLite ```SQLiteNounoursContext```), il faut donc préciser le contexte avec ```--context``` :
```
-dotnet ef migrations add migration_ex_041_004 --project ../ex_041_004_TestingInMemory
+dotnet ef migrations add migration_ex_041_004 --context SQLiteNounoursContext
```
* Création de la table :
```
-dotnet ef database update --project ../ex_041_004_TestingInMemory
+dotnet ef database update --context SQLiteNounoursContext
```
* Génération et exécution
Vous pouvez maintenant générer et exécuter l'exemple **ex_041_004_ConsoleTests_w_SQLite**.
diff --git a/p08_BDD_EntityFramework/ex_041_004_TestingInMemory/ex_041_004_TestingInMemory.csproj b/p08_BDD_EntityFramework/ex_041_004_TestingInMemory/ex_041_004_TestingInMemory.csproj
index 1201013..6ebc0ad 100644
--- a/p08_BDD_EntityFramework/ex_041_004_TestingInMemory/ex_041_004_TestingInMemory.csproj
+++ b/p08_BDD_EntityFramework/ex_041_004_TestingInMemory/ex_041_004_TestingInMemory.csproj
@@ -1,11 +1,17 @@
- netstandard2.0
+ netstandard2.1
+
+
+
+
+
+
-
-
-
+
+
+
diff --git a/p08_BDD_EntityFramework/ex_041_004_UnitTests_w_InMemory/ex_041_004_UnitTests_w_InMemory.csproj b/p08_BDD_EntityFramework/ex_041_004_UnitTests_w_InMemory/ex_041_004_UnitTests_w_InMemory.csproj
index 37b7349..9527a22 100644
--- a/p08_BDD_EntityFramework/ex_041_004_UnitTests_w_InMemory/ex_041_004_UnitTests_w_InMemory.csproj
+++ b/p08_BDD_EntityFramework/ex_041_004_UnitTests_w_InMemory/ex_041_004_UnitTests_w_InMemory.csproj
@@ -7,11 +7,17 @@
-
-
-
-
-
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/p08_BDD_EntityFramework/ex_041_004_UnitTests_w_SQLiteInMemory/ex_041_004_UnitTests_w_SQLiteInMemory.csproj b/p08_BDD_EntityFramework/ex_041_004_UnitTests_w_SQLiteInMemory/ex_041_004_UnitTests_w_SQLiteInMemory.csproj
index 5404e91..0a10e72 100644
--- a/p08_BDD_EntityFramework/ex_041_004_UnitTests_w_SQLiteInMemory/ex_041_004_UnitTests_w_SQLiteInMemory.csproj
+++ b/p08_BDD_EntityFramework/ex_041_004_UnitTests_w_SQLiteInMemory/ex_041_004_UnitTests_w_SQLiteInMemory.csproj
@@ -7,11 +7,17 @@
-
-
-
-
-
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/p08_BDD_EntityFramework/ex_042_012_OneToOne_conventions/ex_042_012_OneToOne_conventions.csproj b/p08_BDD_EntityFramework/ex_042_012_OneToOne_conventions/ex_042_012_OneToOne_conventions.csproj
index 6fbd086..2eca21f 100644
--- a/p08_BDD_EntityFramework/ex_042_012_OneToOne_conventions/ex_042_012_OneToOne_conventions.csproj
+++ b/p08_BDD_EntityFramework/ex_042_012_OneToOne_conventions/ex_042_012_OneToOne_conventions.csproj
@@ -6,12 +6,6 @@
$(MSBuildProjectDirectory)
-
-
-
-
-
-