You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
LOLProject/Sources/EntityFrameworkLOL/Program.cs

176 lines
7.1 KiB

using EntityFrameworkLOL.DBContexts;
using EntityFrameworkLOL.Entities;
using System.Linq;
using System;
using System.Text;
class Program
{
static void Main(string[] args)
{
using (var context = new SQLiteContext()) {
if (context.Champion.Count() > 0)
{
foreach (var c in context.Champion.ToArray())
{
context.Champion.Remove(c);
}
}
if (context.Rune.Count() > 0)
{
foreach (var r in context.Rune.ToArray())
{
context.Rune.Remove(r);
}
}
if (context.Skin.Count() > 0)
{
foreach (var s in context.Skin.ToArray())
{
context.Skin.Remove(s);
}
}
if (context.Skill.Count() > 0)
{
foreach (var s in context.Skill.ToArray())
{
context.Skill.Remove(s);
}
}
if (context.RunePage.Count() > 0)
{
foreach (var rp in context.RunePage.ToArray())
{
context.RunePage.Remove(rp);
}
}
if (context.ChampionClass.Count() > 0)
{
foreach (var cc in context.ChampionClass.ToArray())
{
context.ChampionClass.Remove(cc);
}
}
if (context.RuneFamily.Count() > 0)
{
foreach (var rf in context.RuneFamily.ToArray())
{
context.RuneFamily.Remove(rf);
}
}
if (context.SkillType.Count() > 0)
{
foreach (var st in context.SkillType.ToArray())
{
context.SkillType.Remove(st);
}
}
if (context.Image.Count() > 0)
{
foreach (var i in context.Image.ToArray())
{
context.Image.Remove(i);
}
}
context.SaveChanges();
}
ChampionEntity akali = new ChampionEntity { Name = "Akali", Bio = "" };
ChampionEntity aatrox = new ChampionEntity { Name = "Aatrox", Bio = "" };
ChampionEntity ahri = new ChampionEntity { Name = "Ahri", Bio = "" };
ChampionEntity bard = new ChampionEntity { Name = "Bard", Bio = "" };
ChampionEntity alistar = new ChampionEntity { Name = "Alistar", Bio = "" };
ChampionEntity akshan = new ChampionEntity { Name = "Akshan", Bio = "" };
using (var context = new SQLiteContext())
{
// Crée des champions et les insère dans la base
Console.WriteLine("Creates and inserts new Champions");
context.AddRange(new ChampionEntity[] { akali, aatrox, ahri, bard, alistar, akshan });
/*context.Add(akali);
context.Add(aatrox);
context.Add(ahri);
context.Add(bard);
context.Add(alistar);
context.Add(akshan);*/
context.SaveChanges();
Console.WriteLine("Creates and executes a query retrieving the first Champion of the database whose name starts with an \"A\":");
var aChampion = context.Champion
.Where(c => c.Name.StartsWith("A"))
.First();
Console.WriteLine($"{aChampion.Name} (with bio : \"{aChampion.Bio}\")");
}
RuneEntity conqueror = new RuneEntity { Name = "Conqueror", Description = "" };
RuneEntity thriumph = new RuneEntity { Name = "Thriumph", Description = "" };
RuneEntity alacrity = new RuneEntity { Name = "Legend : Alacrity", Description = "" };
RuneEntity tenacity = new RuneEntity { Name = "Legend : Tenacity", Description = "" };
RuneEntity laststand = new RuneEntity { Name = "Last Stand", Description = "" };
RuneEntity laststand2 = new RuneEntity { Name = "Last Stand 2", Description = "" };
using (var context = new SQLiteContext())
{
// Crée des Runes et les insère dans la base
Console.WriteLine("Creates and inserts new Runes");
context.AddRange(new RuneEntity[] { conqueror, thriumph, alacrity, tenacity, laststand, laststand2 });
/*context.Add(conqueror);
context.Add(thriumph);
context.Add(alacrity);
context.Add(tenacity);
context.Add(laststand);
context.Add(laststand2);*/
context.SaveChanges();
Console.WriteLine("Creates and executes a query retrieving the first Runes of the database whose name starts with an \"L\":");
var lRune = context.Rune
.Where(r => r.Name.StartsWith("L"))
.First();
Console.WriteLine($"{lRune.Name} (with Description : \"{lRune.Description}\")");
}
SkinEntity stinger = new SkinEntity { Name = "Stinger", Description = "" };
SkinEntity infernal = new SkinEntity { Name = "Infernal", Description = "" };
SkinEntity allStar = new SkinEntity { Name = "All-Star", Description = "" };
SkinEntity justicar = new SkinEntity { Name = "Justicar", Description = "" };
SkinEntity mecha = new SkinEntity { Name = "Mecha", Description = "" };
SkinEntity seaHunter = new SkinEntity { Name = "Sea Hunter", Description = "" };
using (var context = new SQLiteContext())
{
// Crée des Skins et les insère dans la base
Console.WriteLine("Creates and inserts new Skins");
context.AddRange(new SkinEntity[] { stinger, infernal, allStar, justicar, mecha, seaHunter });
/*context.Add(stinger);
context.Add(infernal);
context.Add(allStar);
context.Add(justicar);
context.Add(mecha);
context.Add(seaHunter);*/
context.SaveChanges();
Console.WriteLine("Creates and executes a query retrieving the first Skins of the database whose name starts with an \"I\":");
var iSkin = context.Skin
.Where(s => s.Name.StartsWith("I"))
.First();
Console.WriteLine($"{iSkin.Name} (with Description : \"{iSkin.Description}\")");
Console.WriteLine("Updates the name of the Infernal Skin");
iSkin.Description = "Hella Infernal (Wallah)";
context.SaveChanges();
Console.WriteLine($"{iSkin.Name} (with Description : \"{iSkin.Description}\")");
Console.WriteLine("Deletes one item from the database");
var droid = context.Skin
.SingleOrDefault(s => s.Name.Equals("Infernal"));
context.Remove(droid);
context.SaveChanges();
}
using (var context = new SQLiteContext())
{
foreach (var c in context.Champion)
{
c.Bio = $"{c.Name}";
Console.WriteLine($"{c.Name} - {c.Bio}");
}
context.SaveChanges();
}
}
}