From 315229112056ec6dd568fab3921ec537a6ba3885 Mon Sep 17 00:00:00 2001 From: "emre.kartal" Date: Wed, 1 Mar 2023 14:30:28 +0100 Subject: [PATCH] Correct error --- .../Sources/MyFlib/Entities/ChampionEntity.cs | 2 +- .../MyFlib/Entities/LargeImageEntity.cs | 2 ++ .../Sources/MyFlib/LolDbContext.cs | 35 ++++++++++--------- .../Sources/Tests/UT_EF/ChampionsTest.cs | 6 +--- 4 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/EntityFramework_LoL/Sources/MyFlib/Entities/ChampionEntity.cs b/src/EntityFramework_LoL/Sources/MyFlib/Entities/ChampionEntity.cs index 166bf36..a7755f7 100644 --- a/src/EntityFramework_LoL/Sources/MyFlib/Entities/ChampionEntity.cs +++ b/src/EntityFramework_LoL/Sources/MyFlib/Entities/ChampionEntity.cs @@ -20,7 +20,7 @@ namespace MyFlib [MaxLength(255)] public string Bio { get; set; } public string Icon { get; set; } - public LargeImageEntity Image { get; set; } + public string Image { get; set; } [Required] public ChampionClassEntity Class { get; set; } public ICollection Skills { get; set; } diff --git a/src/EntityFramework_LoL/Sources/MyFlib/Entities/LargeImageEntity.cs b/src/EntityFramework_LoL/Sources/MyFlib/Entities/LargeImageEntity.cs index 8492da0..6fa04cf 100644 --- a/src/EntityFramework_LoL/Sources/MyFlib/Entities/LargeImageEntity.cs +++ b/src/EntityFramework_LoL/Sources/MyFlib/Entities/LargeImageEntity.cs @@ -9,7 +9,9 @@ namespace MyFlib { public class LargeImageEntity { + [Key] + public int ImageId { get; set; } public string Base64 { get; set; } } diff --git a/src/EntityFramework_LoL/Sources/MyFlib/LolDbContext.cs b/src/EntityFramework_LoL/Sources/MyFlib/LolDbContext.cs index abe8c71..e507575 100644 --- a/src/EntityFramework_LoL/Sources/MyFlib/LolDbContext.cs +++ b/src/EntityFramework_LoL/Sources/MyFlib/LolDbContext.cs @@ -10,9 +10,8 @@ namespace MyFlib public class LolDbContext : DbContext { public DbSet Champions { get; set; } - public DbSet Skills { get; set; } + public DbSet Skills { get; set; } public DbSet Skins { get; set; } - public DbSet Images { get; set; } public LolDbContext() { } @@ -28,30 +27,32 @@ namespace MyFlib } protected override void OnModelCreating(ModelBuilder modelBuilder) { + var image1 = new LargeImageEntity { ImageId = 1, Base64 = "image1" }; + var image2 = new LargeImageEntity { ImageId = 2, Base64 = "image2" }; + + modelBuilder.Entity().HasData(image1, image2); + + modelBuilder.Entity().Property("ImageId"); + modelBuilder.Entity().HasKey(e => e.Id); modelBuilder.Entity().Property(e => e.Id).ValueGeneratedOnAdd(); modelBuilder.Entity().HasData( - new ChampionEntity { Id = Guid.Parse("{4422C524-B2CB-43EF-8263-990C3CEA7CAE}"), Name = "Akali", Class = ChampionClassEntity.Assassin, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } }, - new ChampionEntity { Id = Guid.Parse("{A4F84D92-C20F-4F2D-B3F9-CA00EF556E72}"), Name = "Aatrox", Class = ChampionClassEntity.Fighter, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } }, - new ChampionEntity { Id = Guid.Parse("{AE5FE535-F041-445E-B570-28B75BC78CB9}"), Name = "Ahri", Class = ChampionClassEntity.Mage, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } }, - new ChampionEntity { Id = Guid.Parse("{3708dcfd-02a1-491e-b4f7-e75bf274cf23}"), Name = "Akshan", Class = ChampionClassEntity.Marksman, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } }, - new ChampionEntity { Id = Guid.Parse("{7f7746fa-b1cb-49da-9409-4b3e6910500e}"), Name = "Bard", Class = ChampionClassEntity.Support, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } }, - new ChampionEntity { Id = Guid.Parse("{36ad2a82-d17b-47de-8a95-6e154a7df557}"), Name = "Alistar", Class = ChampionClassEntity.Tank, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } } + new { Id = Guid.Parse("{4422C524-B2CB-43EF-8263-990C3CEA7CAE}"), Name = "Akali", Class = ChampionClassEntity.Assassin, Bio = "", Icon = "", Image = "empty" }, + new { Id = Guid.Parse("{A4F84D92-C20F-4F2D-B3F9-CA00EF556E72}"), Name = "Aatrox", Class = ChampionClassEntity.Fighter, Bio = "", Icon = "", Image = "empty" }, + new { Id = Guid.Parse("{AE5FE535-F041-445E-B570-28B75BC78CB9}"), Name = "Ahri", Class = ChampionClassEntity.Mage, Bio = "", Icon = "", Image = "empty" }, + new { Id = Guid.Parse("{3708dcfd-02a1-491e-b4f7-e75bf274cf23}"), Name = "Akshan", Class = ChampionClassEntity.Marksman, Bio = "", Icon = "", Image = "empty" }, + new { Id = Guid.Parse("{7f7746fa-b1cb-49da-9409-4b3e6910500e}"), Name = "Bard", Class = ChampionClassEntity.Support, Bio = "", Icon = "", Image = "empty" }, + new { Id = Guid.Parse("{36ad2a82-d17b-47de-8a95-6e154a7df557}"), Name = "Alistar", Class = ChampionClassEntity.Tank, Bio = "", Icon = "", Image = "empty" } ); modelBuilder.Entity().HasData( - new SkillEntity { Name = "Boule de feu", Description = "Fire!", Type = SkillTypeEntity.Basic }, - new SkillEntity { Name = "White Star", Description = "Random damage", Type = SkillTypeEntity.Ultimate } - ); - - modelBuilder.Entity().HasData( - new LargeImageEntity { Base64 = "empty" }, - new LargeImageEntity { Base64 = "empty2" } + new { Name = "Boule de feu", Description = "Fire!", Type = SkillTypeEntity.Basic }, + new { Name = "White Star", Description = "Random damage", Type = SkillTypeEntity.Ultimate } ); modelBuilder.Entity().HasData( - new SkinEntity { Name = "Yone fleur spirituelle", Description = "Spirit Blossom", Icon = "empty", Price = 975, Image = new LargeImageEntity { Base64 = "empty" } }, - new SkinEntity { Name = "Yasuo Lune de sang", Description = "Blood Moon", Icon = "empty", Price = 975, Image = new LargeImageEntity { Base64 = "empty" } } + new SkinEntity { Name = "Yone fleur spirituelle", Description = "Spirit Blossom", Icon = "empty", Price = 975, ImageId = 1 }, + new SkinEntity { Name = "Yasuo Lune de sang", Description = "Blood Moon", Icon = "empty", Price = 975, ImageId = 2 } ); } diff --git a/src/EntityFramework_LoL/Sources/Tests/UT_EF/ChampionsTest.cs b/src/EntityFramework_LoL/Sources/Tests/UT_EF/ChampionsTest.cs index ed24a8f..fd66059 100644 --- a/src/EntityFramework_LoL/Sources/Tests/UT_EF/ChampionsTest.cs +++ b/src/EntityFramework_LoL/Sources/Tests/UT_EF/ChampionsTest.cs @@ -19,11 +19,7 @@ namespace UT_EF ChampionEntity hecarim = new ChampionEntity { Name = "Hecarim", Class = ChampionClassEntity.Fighter, Bio = "", Icon = "", Image = "" }; ChampionEntity yuumi = new ChampionEntity { Name = "yuumi", Class = ChampionClassEntity.Mage, Bio = "", Icon = "", Image = "" }; - // test contrainte - ChampionEntity errorName = new ChampionEntity { Name = "c1832f35-f909-422d-a1fb-e0b79a62f562-fa7c5fe2-89b7-432e-9e0f-a5736445b381-3f75c0f8-de2e-4cf4-82d2-3d24411f6422-6b7e9196-3664-4813-b971-e9cc08a4b255-c1832f35-f909-422d-a1fb-e0b79a62f562-fa7c5fe2-89b7-432e-9e0f-a5736445b381-3f75c0f8-de2e-4cf4-82d2-3d24411f6422-6b7e9196-3664-4813-b971-e9cc08a4b255" - , Class = ChampionClassEntity.Mage, Bio = "", Icon = "", Image = "" }; - - context.Champions.AddRange(sylas, hecarim, yuumi, errorName); + context.Champions.AddRange(sylas, hecarim, yuumi); context.SaveChanges(); }