survey-webapp/SurveyBackend/SurveyBackend.Infrastructure/Data/ApplicationDbContext.cs

42 lines
No EOL
2.1 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 Microsoft.EntityFrameworkCore;
using SurveyBackend.Core.Models;
using SurveyLib.Core.Models;
using SurveyLib.Infrastructure.EFCore.Data;
namespace SurveyBackend.Infrastructure.Data;
public class ApplicationDbContext : SurveyDbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Group> Groups { get; set; }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Вызов конфигурации базового контекста для моделей библиотеки
base.OnModelCreating(modelBuilder);
// Здесь можно описывать конфигурацию дополнительных сущностей и связи между моделями библиотеки и моделями приложения.
// Например, если Survey должен иметь связь с User (скажем, владелец опроса):
// Допустим, Survey не имеет в исходной модели свойства UserId.
// Можно использовать теневой ключ, или если ты готов расширить модель Survey в бэкенде.
// Пример с теневым ключом:
// modelBuilder.Entity<Survey>()
// .HasOne<User>() // тип связи: один пользователь
// .WithMany() // например, пользователь может владеть несколькими опросами
// .HasForeignKey("OwnerId"); // теневой ключ, который не прописан в модели Survey
// Или, если расширить Survey:
// public int? OwnerId { get; set; }
// modelBuilder.Entity<Survey>()
// .HasOne<User>()
// .WithMany(u => u.Surveys)
// .HasForeignKey(s => s.OwnerId);
}
}