diff --git a/Documentation/Architecture_du_projet.drawio b/Documentation/Architecture_du_projet.drawio
index 0826ace..dd46059 100644
--- a/Documentation/Architecture_du_projet.drawio
+++ b/Documentation/Architecture_du_projet.drawio
@@ -1 +1 @@
-7Vtdc6o4GP41Xtoh4UO8tK223emZ6dmenb3ciRAleyJhQ6y6v34TIAgEu24r4rbtDfIQSHieN+9HSAf2zWp7x1ESfWMhpgNohduBfTuA0B37QB4UsssR6LvjHFlyEuYY2APP5G9cgFaBrkmI01pDwRgVJKmDAYtjHIgahjhnm3qzBaP1XhO0xAbwHCBqor+TUEQ56sPRHr/HZBnpnoFXvN8K6cbFm6QRCtmmAtnTgX3DGRP5r9X2BlPFnuYlv2924Go5MI5jcdQNvzwsHTb9jqzR/W/ONV9/x3dDWIw2FTv9xjiUBBSnjIuILVmM6HSPXnO2jkOsHmvJs32bR8YSCQIJ/omF2BVqorVgEorEihZXU8HZz5JPWyL5KFTXB9+ugFK25gF+5ZW0lSC+xOK1V/dLEaT5YrbCgu/kjRxTJMhLfSCoMKNl2W7PtPxRkP0fiC+e+4LouujpiTPJmsSms0cyN2SR5pOon8qCMZeULVgstE6KVIHmmlEArBwoTdMugCeWEkFYLCGKF6IuyzzX9XGuAYrmmD7E9xhlXWaYnGgCkbhyTilKUjLPBqK64ThY81Qy+CtOcwuwSoVfMBd4+7rGpiTFDUPg+cVk2mkE6Om12c9OMC6wqDozNXhyKceGlHeDG3swGcf5gSOB11y2uL02VK2wfxxBB23pIGuwTpnbwhdo4cvuii7gGnxNY0HE7gLIAVbf7DiH/cINi1MmufnyDC2eYeQ0PIPTJqXfImVpA6e3dNMzlBpak6eHbgzeeZUp+8K8gSa/laPp7AIo6t8nQDNZ2HP0A6fiEljq3ZLMsPIs1l95VJu3hA5oeMsxMOWDVlsa5XSmHzC0OkMpkqmfX4RO16WJNziuNDkw885TmbjwEnRYEEpvGGU8G4EN5ghgWOpTuWJZ3nQyuxTl3l1UZrdOOEe7SoOEkViklSc/KaBWGI3c+oT2vcZqgHGL38yY3nDL2Lca9pYPfW99JQdvN0jPcOxlStyWRH05eJUOew2lRnZLfB61pcOgs3S4NdWTs5ZSSVInKYz3Kk0XVxmbed6t9JP9M9N/CgygQc03lCQkXl4CPb1bjuv2EbPNiNuM4ieMwMA+MgSDA9p1HYKh1wjBekmi0+CoaalMjNaK8CsqSolstxEVPX98XFQsp/jpi3vnMqbuKafqsdnyAb3OU+fAC/GZfRAP7X58pG03aw5wBh/p+J9X6Z6CodOsFN3iu3i3wdAsFWcUb78+px6Ihy48sARQi4feeeOhmdAU20q+FGzJaJrzDFjjIwv9DiX0DQkPqkdW2QacKuuKEhIgOqFkqXQRyuGW6KOSoKLanAnBVlqbaxT8XGauu7JEuMj+ZJOss0ma5BuFlAhInyzIVjn762I8t5EQaofRRDEBZ0EYwysilV4QaRD8KpA9wlmIBJIHhUtnONtEElbiDUmaMUmC4QbPhxFLhSxUhynm8iVUS8V8dvccpVhWDv5VogvZdy7sW5ZhD20prlaoZg8aPLk92B8vxdV5zIXvMrI/Xo57NPNun8Q7H29f3dHE95NyQgs01l+8c9QWmpXXYp0RZBLMiew4SxlkHyRJ8dMeqiqKihgYSLmya+UuUmUiIUqj0l7SBAUyzPzIbMXeh7IypJGVjDEzqpLhGQqUFH+EROYmgineZ0T1sEABvkpflqf60Aya8cj3W9OTK/3wakTyu0pQbLNO+P8nKNa/JihYDjH7PYROsh2+MDpURKoVqE6yEVDmneWUbFspP28y4rRp71FRFBA1I/D+WjN9YZin7pJvS7GXTRB9Xf5aquNDLK+u8CqbUPkz5Rjzx+YtDDOT9Io2J66tI2YxbnwOLyDDNTTNckXCMIsrm4gI/Czdg+pzw1FixJrTqN385ti6umq3fReBHYntmtspTyh24S8/n9Qy1jbduuv1LfXo/VJbB6Se0Wwntx9EasfdNcVrecjv+YFXySc0ADg+at2hbb/tGz6CytP9/8nkmdv+343s6T8=
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/Documentation/img/Architecture_du_projet.png b/Documentation/img/Architecture_du_projet.png
index 44a5cac..73ace51 100644
Binary files a/Documentation/img/Architecture_du_projet.png and b/Documentation/img/Architecture_du_projet.png differ
diff --git a/README.md b/README.md
index 5b9b488..998d768 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,12 @@ Ce projet a été réalisé durant les cours de Entity framework et Consommation
## Architecture

+## Technologie
+**Entity Framework Core** est un mappeur de base de données objet moderne pour .NET. Il prend en charge les requêtes LINQ, le suivi des modifications, les mises à jour et les migrations de schéma.
+Donc comme vous l'aurez compris, l'EFLib va nous permettre la création, de vos tables et votre persistance.
+
+Notre **API** va relier le tout afin de pouvoir de mettre un intermédiaire entre la base de données et le client final.
+
## Diagramme de classes du modèle
```mermaid
classDiagram
diff --git a/Sources/API/Mapping/ChampionMapper.cs b/Sources/API/Mapping/ChampionMapper.cs
index 6ff3327..c204e4f 100644
--- a/Sources/API/Mapping/ChampionMapper.cs
+++ b/Sources/API/Mapping/ChampionMapper.cs
@@ -44,14 +44,14 @@ namespace API.Mapping
};
}*/
- public static EntityChampion ToEF(this ChampionDto championDto)
+ public static EFChampion ToEF(this ChampionDto championDto)
{
if (championDto == null)
{
throw new ArgumentNullException("Dto null");
}
- return new EntityChampion
+ return new EFChampion
{
Id = championDto.Id,
Name = championDto.Name,
diff --git a/Sources/ConsoleDB/ConsoleEF.csproj b/Sources/ConsoleDB/ConsoleEF.csproj
index 74abf5c..9582133 100644
--- a/Sources/ConsoleDB/ConsoleEF.csproj
+++ b/Sources/ConsoleDB/ConsoleEF.csproj
@@ -5,6 +5,19 @@
net6.0
enable
enable
+ $(MSBuildProjectDirectory)
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
diff --git a/Sources/ConsoleDB/Program.cs b/Sources/ConsoleDB/Program.cs
index 3751555..bbe5f63 100644
--- a/Sources/ConsoleDB/Program.cs
+++ b/Sources/ConsoleDB/Program.cs
@@ -1,2 +1,32 @@
// See https://aka.ms/new-console-template for more information
-Console.WriteLine("Hello, World!");
+// Console.WriteLine("Hello, World!");
+
+using EFlib;
+using StubLib;
+
+//StubData stub = new StubData();
+//stub.ChampionsMgr.GetItems(0, 5);
+
+
+EFChampion boss1 = new EFChampion { Name = "bigBoss", Bio = "KingOfMetal", Icon = "vide" };
+EFChampion boss2 = new EFChampion { Name = "Soon", Bio = "Indomptable", Icon = "vide" };
+EFChampion boss3 = new EFChampion { Name = "doctorWho", Bio = "Le silence", Icon="vide" };
+
+using (var context = new EFChampionContext())
+{
+ // Crée des EFChampion et les insère dans la base
+ Console.WriteLine("Creates and inserts new EFChampion");
+ context.Add(boss1);
+ context.Add(boss2);
+ context.Add(boss3);
+ context.SaveChanges();
+}
+
+using (var context = new EFChampionContext())
+{
+ foreach (var n in context.Champions)
+ {
+ Console.WriteLine($"{n.Id} - {n.Name}");
+ }
+ context.SaveChanges();
+}
diff --git a/Sources/ConsoleDB/projet.dbloulou.db b/Sources/ConsoleDB/projet.dbloulou.db
new file mode 100644
index 0000000..4fb65b1
Binary files /dev/null and b/Sources/ConsoleDB/projet.dbloulou.db differ
diff --git a/Sources/EFlib/EntityChampion.cs b/Sources/EFlib/EFChampion.cs
similarity index 93%
rename from Sources/EFlib/EntityChampion.cs
rename to Sources/EFlib/EFChampion.cs
index bd01388..45f656d 100644
--- a/Sources/EFlib/EntityChampion.cs
+++ b/Sources/EFlib/EFChampion.cs
@@ -1,6 +1,6 @@
namespace EFlib
{
- public class EntityChampion
+ public class EFChampion
{
/**** Attributs ****/
public int Id { get; set; }
diff --git a/Sources/EFlib/EFChampionContext.cs b/Sources/EFlib/EFChampionContext.cs
new file mode 100644
index 0000000..c839dc9
--- /dev/null
+++ b/Sources/EFlib/EFChampionContext.cs
@@ -0,0 +1,41 @@
+using Microsoft.Data.Sqlite;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace EFlib
+{
+ public class EFChampionContext : DbContext
+ {
+
+ /**** Attributs ****/
+ public DbSet Champions { get; set; }
+
+ /**** Méthodes ****/
+ public EFChampionContext()
+ { }
+
+ public EFChampionContext(DbContextOptions options)
+ : base(options)
+ { }
+
+ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
+ {
+ if (!optionsBuilder.IsConfigured)
+ {
+ optionsBuilder.UseSqlite($"Data Source=projet.dbloulou.db");
+ }
+ var connection = new SqliteConnection("DataSource=:memory:");
+ connection.Open();
+ optionsBuilder.UseSqlite(connection);
+ }
+ /*
+ var options = new DbContextOptionsBuilder().UseSqlite($"Data Source=LeNomDe.MaBase.db").Options;
+ var context = new TheDbContext(options); //ou une autre classe dérivant de TheDbContext
+ await context.Database.EnsureCreatedAsync(); //pour créer la base si elle n'existe pas déjà
+ */
+ }
+}
diff --git a/Sources/EFlib/Migrations/20230126084305_MyMigration.Designer.cs b/Sources/EFlib/Migrations/20230209074746_MyMigration.Designer.cs
similarity index 92%
rename from Sources/EFlib/Migrations/20230126084305_MyMigration.Designer.cs
rename to Sources/EFlib/Migrations/20230209074746_MyMigration.Designer.cs
index e0ff744..fe24406 100644
--- a/Sources/EFlib/Migrations/20230126084305_MyMigration.Designer.cs
+++ b/Sources/EFlib/Migrations/20230209074746_MyMigration.Designer.cs
@@ -10,7 +10,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace EFlib.Migrations
{
[DbContext(typeof(SQLiteContext))]
- [Migration("20230126084305_MyMigration")]
+ [Migration("20230209074746_MyMigration")]
partial class MyMigration
{
///
@@ -19,7 +19,7 @@ namespace EFlib.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "7.0.2");
- modelBuilder.Entity("EFlib.Champion", b =>
+ modelBuilder.Entity("EFlib.EFChampion", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
diff --git a/Sources/EFlib/Migrations/20230126084305_MyMigration.cs b/Sources/EFlib/Migrations/20230209074746_MyMigration.cs
similarity index 100%
rename from Sources/EFlib/Migrations/20230126084305_MyMigration.cs
rename to Sources/EFlib/Migrations/20230209074746_MyMigration.cs
diff --git a/Sources/EFlib/Migrations/SQLiteContextModelSnapshot.cs b/Sources/EFlib/Migrations/SQLiteContextModelSnapshot.cs
index e8a5bd1..e01ab0f 100644
--- a/Sources/EFlib/Migrations/SQLiteContextModelSnapshot.cs
+++ b/Sources/EFlib/Migrations/SQLiteContextModelSnapshot.cs
@@ -16,7 +16,7 @@ namespace EFlib.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "7.0.2");
- modelBuilder.Entity("EFlib.Champion", b =>
+ modelBuilder.Entity("EFlib.EFChampion", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
diff --git a/Sources/EFlib/SQLiteContext.cs b/Sources/EFlib/SQLiteContext.cs
index cfbbdbe..89f60b3 100644
--- a/Sources/EFlib/SQLiteContext.cs
+++ b/Sources/EFlib/SQLiteContext.cs
@@ -11,7 +11,7 @@ namespace EFlib
public class SQLiteContext : DbContext
{
/**** Attributs ****/
- public DbSet Champions { get; set; }
+ public DbSet Champions { get; set; }
/**** Méthodes ****/
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
diff --git a/Sources/EFlib/SqlServerContext.cs b/Sources/EFlib/SqlServerContext.cs
index c63cf7a..86f446f 100644
--- a/Sources/EFlib/SqlServerContext.cs
+++ b/Sources/EFlib/SqlServerContext.cs
@@ -10,7 +10,7 @@ namespace EFlib
internal class SqlServerContext : DbContext
{
/**** Attributs ****/
- public DbSet Champions { get; set; }
+ public DbSet Champions { get; set; }
/**** Méthodes ****/
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
diff --git a/Sources/EFlib/projet.dbloulou.db b/Sources/EFlib/projet.dbloulou.db
index 187c04b..81497ee 100644
Binary files a/Sources/EFlib/projet.dbloulou.db and b/Sources/EFlib/projet.dbloulou.db differ