//
using System;
using DataBase.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace DataBase.Migrations
{
[DbContext(typeof(PongDbContext))]
partial class PongDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "7.0.3");
modelBuilder.Entity("DataBase.Entity.Chat", b =>
{
b.Property("chatId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("player1")
.IsRequired()
.HasColumnType("TEXT");
b.Property("player2")
.IsRequired()
.HasColumnType("TEXT");
b.HasKey("chatId");
b.HasIndex("player1");
b.HasIndex("player2");
b.ToTable("Chats", (string)null);
});
modelBuilder.Entity("DataBase.Entity.Game", b =>
{
b.Property("gameId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("durationGame")
.HasColumnType("INTEGER");
b.Property("loser")
.IsRequired()
.HasColumnType("TEXT");
b.Property("nbMaxEchanges")
.HasColumnType("INTEGER");
b.Property("scoreLoser")
.HasColumnType("INTEGER");
b.Property("scoreWinner")
.HasColumnType("INTEGER");
b.Property("winner")
.IsRequired()
.HasColumnType("TEXT");
b.HasKey("gameId");
b.HasIndex("loser");
b.HasIndex("winner");
b.ToTable("Games", (string)null);
});
modelBuilder.Entity("DataBase.Entity.Message", b =>
{
b.Property("messageId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("chat")
.HasColumnType("INTEGER");
b.Property("message")
.IsRequired()
.HasColumnType("TEXT");
b.Property("player")
.IsRequired()
.HasColumnType("TEXT");
b.Property("timestamp")
.HasColumnType("TEXT");
b.HasKey("messageId");
b.HasIndex("chat");
b.HasIndex("player");
b.ToTable("Messages", (string)null);
});
modelBuilder.Entity("DataBase.Entity.Player", b =>
{
b.Property("playerId")
.HasColumnType("TEXT");
b.Property("name")
.IsRequired()
.HasColumnType("TEXT");
b.Property("nbBallTouchTotal")
.HasColumnType("INTEGER");
b.Property("timePlayed")
.HasColumnType("INTEGER");
b.HasKey("playerId");
b.ToTable("Players", (string)null);
});
modelBuilder.Entity("DataBase.Entity.Chat", b =>
{
b.HasOne("DataBase.Entity.Player", "PlayerId1")
.WithMany()
.HasForeignKey("player1")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DataBase.Entity.Player", "PlayerId2")
.WithMany()
.HasForeignKey("player2")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PlayerId1");
b.Navigation("PlayerId2");
});
modelBuilder.Entity("DataBase.Entity.Game", b =>
{
b.HasOne("DataBase.Entity.Player", "PlayerLoser")
.WithMany()
.HasForeignKey("loser")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DataBase.Entity.Player", "PlayerWinner")
.WithMany()
.HasForeignKey("winner")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PlayerLoser");
b.Navigation("PlayerWinner");
});
modelBuilder.Entity("DataBase.Entity.Message", b =>
{
b.HasOne("DataBase.Entity.Chat", "ChatId")
.WithMany()
.HasForeignKey("chat")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DataBase.Entity.Player", "PlayerId")
.WithMany()
.HasForeignKey("player")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ChatId");
b.Navigation("PlayerId");
});
#pragma warning restore 612, 618
}
}
}