45 lines
1.8 KiB
C#
45 lines
1.8 KiB
C#
using Demo.Data.LocalData.Entity; // Локальные сущности
|
|
using Demo.Data.RemoteData.RemoteDataBase.DAO; // DAO классы
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
public class RemoteDatabaseContext : DbContext
|
|
{
|
|
public DbSet<User> User { get; set; }
|
|
public DbSet<GroupDAO> Group { get; set; } // DbSet для GroupDao
|
|
public DbSet<PresenceDAO> Presence { get; set; } // DbSet для PresenceDao
|
|
|
|
public RemoteDatabaseContext(DbContextOptions<RemoteDatabaseContext> options) : base(options) { }
|
|
|
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
{
|
|
if (!optionsBuilder.IsConfigured)
|
|
{
|
|
optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=;Username=user5;Password=EtEJqhsf");
|
|
}
|
|
}
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<GroupDAO>().HasKey(group => group.Id);
|
|
modelBuilder.Entity<GroupDAO>().Property(group => group.Id).ValueGeneratedOnAdd();
|
|
|
|
modelBuilder.Entity<UserDAO>().HasKey(user => user.UserId);
|
|
modelBuilder.Entity<UserDAO>().Property(user => user.UserId).ValueGeneratedOnAdd();
|
|
|
|
modelBuilder.Entity<PresenceDAO>().HasKey(presence => presence.PresenceId); // Устанавливаем первичный ключ
|
|
|
|
// Дополнительные настройки для User
|
|
modelBuilder.Entity<User>(entity =>
|
|
{
|
|
entity.ToTable("User"); // Имя таблицы
|
|
entity.HasKey(e => e.Id); // Указываем первичный ключ
|
|
entity.Property(e => e.FIO)
|
|
.IsRequired()
|
|
.HasColumnName("FIO");
|
|
entity.Property(e => e.GroupID)
|
|
.IsRequired()
|
|
.HasColumnName("GroupID");
|
|
});
|
|
}
|
|
}
|