add SkillEntity + LargeImageEntity + RuneEntity + relation oneToOne entre image et champion
continuous-integration/drone/push Build is failing Details

pull/3/head
Maxence LANONE 2 years ago
parent 2abbcb5663
commit 1c428ee70b

@ -11,10 +11,18 @@ namespace EntityFrameWorkLib
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UniqueId { get; set; }
public string Name { get; set; }
public string Name { get; set; }
[Required]
[MaxLength(256)]
public string Bio { get; set; }
public string Icon { get; set; }
public ChampionClass championClass { get; set; }
}
[Required]
public ChampionClass Class { get; set; }
public LargeImageEntity? LargeImageEntity { get; set; }
}
}

@ -0,0 +1,21 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace EntityFrameWorkLib
{
public class LargeImageEntity
{
[Key]
public Guid Id { get; set; }
[Required]
public string Base64 { get; set; }
[Required]
public int championId { get; set; }
[Required]
public ChampionEntity champion { get; set; }
}
}

@ -6,32 +6,39 @@ namespace EntityFrameWorkLib
{
public class LolContext : DbContext
{
public DbSet<ChampionEntity> Champions { get; set; }
public LolContext() { }
public LolContext(DbContextOptions<LolContext> options)
:base(options)
{ }
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
if (!options.IsConfigured)
{
public DbSet<ChampionEntity> Champions { get; set; }
public DbSet<SkillEntity> Skill { get; set; }
public DbSet<LargeImageEntity> LargeImage { get; set; }
public LolContext() { }
public LolContext(DbContextOptions<LolContext> options)
: base(options)
{ }
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
if (!options.IsConfigured)
{
base.OnConfiguring(options.UseSqlite($"DataSource=projet.Champions.db"));
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//Définition de la clé primaire de ChampionEntity
modelBuilder.Entity<ChampionEntity>().HasKey(n => n.UniqueId);
//Définition du mode de generation de la clé : génération à l'insertion
modelBuilder.Entity<ChampionEntity>().Property(n => n.UniqueId).ValueGeneratedOnAdd();
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//Définition de la clé primaire de ChampionEntity
modelBuilder.Entity<ChampionEntity>().HasKey(n => n.UniqueId);
//Définition du mode de generation de la clé : génération à l'insertion
modelBuilder.Entity<ChampionEntity>().Property(n => n.UniqueId).ValueGeneratedOnAdd();
modelBuilder.Entity<ChampionEntity>()
.HasOne(c => c.LargeImageEntity)
.WithOne(li => li.champion)
.HasForeignKey<LargeImageEntity>(li => li.championId);
base.OnModelCreating(modelBuilder);
base.OnModelCreating(modelBuilder);
}
}
}
}

@ -0,0 +1,21 @@
using System;
using Shared;
using System.ComponentModel.DataAnnotations;
namespace EntityFrameWorkLib
{
public class SkillEntity
{
[Key]
[MaxLength(256)]
public string Name { get; set; }
[Required]
[MaxLength(500)]
public string Description { get; set; }
[Required]
public SkillType SkillType { get; set; }
}
}

@ -1,12 +0,0 @@
using System;
namespace EntityFrameWorkLib
{
public class Skin
{
public string Name { get; set; }
public string Description { get; set; }
public string Icon { get; set; }
public float Price { get; set; }
}
}

@ -0,0 +1,22 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace EntityFrameWorkLib
{
public class SkinEntity
{
[Key]
[MaxLength(256)]
public string Name { get; set; }
[Required]
[MaxLength(500)]
public string Description { get; set; }
public string Icon { get; set; }
[Required]
public float Price { get; set; }
}
}
Loading…
Cancel
Save