From 5fc9308adaa58aa3bd2b5074e2e5df509db523c0 Mon Sep 17 00:00:00 2001 From: cuqmbr Date: Tue, 20 May 2025 10:33:35 +0300 Subject: [PATCH] add inheritance and enums configuration to in memory db context --- src/Persistence/InMemory/InMemoryDbContext.cs | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/Persistence/InMemory/InMemoryDbContext.cs b/src/Persistence/InMemory/InMemoryDbContext.cs index e27b3ba..3dc85f8 100644 --- a/src/Persistence/InMemory/InMemoryDbContext.cs +++ b/src/Persistence/InMemory/InMemoryDbContext.cs @@ -1,4 +1,5 @@ using cuqmbr.TravelGuide.Domain.Enums; +using cuqmbr.TravelGuide.Domain.Entities; using Microsoft.EntityFrameworkCore; using cuqmbr.TravelGuide.Persistence.TypeConverters; @@ -12,6 +13,15 @@ public class InMemoryDbContext : DbContext protected override void OnModelCreating(ModelBuilder builder) { base.OnModelCreating(builder); + + builder + .Entity() + .ToTable("vehicles") + .UseTphMappingStrategy() + .HasDiscriminator(v => v.VehicleType) + .HasValue(VehicleType.Bus) + .HasValue(VehicleType.Aircraft) + .HasValue(VehicleType.Train); } protected override void ConfigureConventions( @@ -19,12 +29,26 @@ public class InMemoryDbContext : DbContext { builder .Properties() - .HaveColumnType("vehicle_type") + .HaveColumnType("varchar(16)") .HaveConversion(); builder .Properties() - .HaveColumnType("currency") + .HaveColumnType("varchar(8)") .HaveConversion(); + + builder + .Properties() + .HaveColumnType("varchar(64)") + .HaveConversion(); + + builder + .Properties() + .HaveColumnType("varchar(32)") + .HaveConversion(); + + builder + .Properties() + .HaveConversion(); } }