39 lines
1.8 KiB
C#
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());
|
|
}
|
|
} |