diff options
Diffstat (limited to 'src/Data/MainDbContext.cs')
| -rw-r--r-- | src/Data/MainDbContext.cs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/Data/MainDbContext.cs b/src/Data/MainDbContext.cs new file mode 100644 index 0000000..c95a4d0 --- /dev/null +++ b/src/Data/MainDbContext.cs @@ -0,0 +1,40 @@ +using Microsoft.EntityFrameworkCore; +using VSH.Data.Database; + +namespace VSH.Data; + +public class MainDbContext : DbContext +{ + public MainDbContext(DbContextOptions<MainDbContext> options) : base(options) { } + + public DbSet<User> Users { get; set; } + public DbSet<Category> Categories { get; set; } + public DbSet<Product> Products { get; set; } + public DbSet<Order> Orders { get; set; } + public DbSet<Document> Documents { get; set; } + + protected override void OnModelCreating(ModelBuilder modelBuilder) { + modelBuilder.Entity<User>(e => { + e.ToTable("Users"); + }); + modelBuilder.Entity<Category>(e => { + e.ToTable("Categories"); + }); + modelBuilder.Entity<Order>(e => { + e.Property(c => c.Products).HasColumnType("jsonb"); + e.Property(c => c.ContactInfo).HasColumnType("jsonb"); + e.ToTable("Orders"); + }); + + modelBuilder.Entity<Product>(e => { + e.Property(c => c.Images).HasColumnType("jsonb"); + e.ToTable("Products"); + }); + + modelBuilder.Entity<Document>(e => { + e.ToTable("Documents"); + }); + + base.OnModelCreating(modelBuilder); + } +}
\ No newline at end of file |
