using Demo.Data.RemoteData.RemoteDataBase.DAO; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; 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=user7;" + "Database=user7;" + "Password=a8yLONBC"); } protected override void OnModelCreating(ModelBuilder modelBuilder) { // Настройка ключа и автоматической генерации для GroupDao modelBuilder.Entity().HasKey(group => group.Id); modelBuilder.Entity().Property(group => group.Id).ValueGeneratedOnAdd(); // Настройка ключа и автоматической генерации для UserDao modelBuilder.Entity().HasKey(user => user.Guid); modelBuilder.Entity().Property(user => user.Guid).ValueGeneratedOnAdd(); // Настройка составного ключа для PresenceDao modelBuilder.Entity().HasKey(presense => new { presense.Id }); // Настройка связи UserDao с PresenceDao modelBuilder.Entity() .Property(presence => presence.Id) .ValueGeneratedOnAdd(); modelBuilder.Entity().HasOne(presence => presence.UserDao).WithMany(user => user.Presences).HasForeignKey(presence => presence.UserGuid); } public DbSet Groups { get; set; } public DbSet Users { get; set; } public DbSet PresenceDaos { get; set; } } }