guys probably we just created INTEGRATION with our library......

This commit is contained in:
Вячеслав 2025-04-16 21:01:10 +05:00
parent 8c0ba59ff7
commit 720f041abf
5 changed files with 74 additions and 9 deletions

View file

@ -1,16 +1,42 @@
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using SurveyBackend.Core.Models;
using SurveyLib.Core.Models;
using SurveyLib.Infrastructure.EFCore.Data;
namespace SurveyBackend.Infrastructure.Data;
public class ApplicationDbContext : DbContext
public class ApplicationDbContext : SurveyDbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Group> Groups { get; set; }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
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);
}
}

View file

@ -12,6 +12,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\SurveyLib\SurveyLib.Infrastructure.EFCore\SurveyLib.Infrastructure.EFCore.csproj" />
<ProjectReference Include="..\SurveyBackend.Core\SurveyBackend.Core.csproj" />
</ItemGroup>