Mega_New_Presence/presence_new/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs
Class_Student 202f236834 new
2024-11-01 10:40:53 +03:00

45 lines
1.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Microsoft.EntityFrameworkCore;
namespace Demo.Data.RemoteData.RemoteDataBase
{
public class RemoteDatabaseContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Username=user15;Database=user15;Password=3XkvwMOb");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Настройка ключа и автоматической генерации для GroupDao
modelBuilder.Entity<GroupDao>().HasKey(group => group.Id);
modelBuilder.Entity<GroupDao>().Property(group => group.Id).ValueGeneratedOnAdd();
// Настройка ключа и автоматической генерации для UserDao
modelBuilder.Entity<UserDao>().HasKey(user => user.Guid);
modelBuilder.Entity<UserDao>().Property(user => user.Guid).ValueGeneratedOnAdd();
// Настройка составного ключа для PresenceDao
modelBuilder.Entity<PresenceDao>().HasKey(presense => new
{
presense.UserGuid,
presense.Date,
presense.IsAttedance,
presense.LessonNumber
});
// Настройка связи UserDao с PresenceDao
modelBuilder.Entity<PresenceDao>()
.HasOne(p => p.UserDao)
.WithMany()
.HasForeignKey(p => p.UserGuid)
.OnDelete(DeleteBehavior.Cascade);
}
public DbSet<GroupDao> Groups { get; set; }
public DbSet<UserDao> Users { get; set; }
public DbSet<PresenceDao> PresenceDaos { get; set; }
}
}