Files
imprink/src/Imprink.Infrastructure/Database/ApplicationDbContext.cs

39 lines
1.8 KiB
C#

using Imprink.Domain.Entities;
using Imprink.Infrastructure.Configuration;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
namespace Imprink.Infrastructure.Database;
public class ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: DbContext(options)
{
public DbSet<Product> Products { get; set; }
public DbSet<ProductVariant> ProductVariants { get; set; }
public DbSet<Order> Orders { get; set; }
public DbSet<Address> Addresses { get; set; }
public DbSet<OrderStatus> OrderStatuses { get; set; }
public DbSet<ShippingStatus> ShippingStatuses { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<UserRole> UserRole { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<Category> Categories { get; set; }
public DbSet<OrderAddress> OrderAddresses { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ApplyConfiguration(new ProductConfiguration());
modelBuilder.ApplyConfiguration(new ProductVariantConfiguration());
modelBuilder.ApplyConfiguration(new OrderConfiguration());
modelBuilder.ApplyConfiguration(new OrderAddressConfiguration());
modelBuilder.ApplyConfiguration(new AddressConfiguration());
modelBuilder.ApplyConfiguration(new OrderStatusConfiguration());
modelBuilder.ApplyConfiguration(new ShippingStatusConfiguration());
modelBuilder.ApplyConfiguration(new CategoryConfiguration());
modelBuilder.ApplyConfiguration(new RoleConfiguration());
modelBuilder.ApplyConfiguration(new UserConfiguration());
modelBuilder.ApplyConfiguration(new UserRoleConfiguration());
}
}