public SqlEventLogRepository( IConcurrentSqlStorage <SqlEventLogEntry, Guid> eventLogSqlStorage, Func <SqlDbContext> createDbContext, ISqlDbContextSettings sqlDbContextSettings) { this.eventLogSqlStorage = eventLogSqlStorage; this.createDbContext = createDbContext; customJsonConverters = CustomJsonConvertersBuilder.Build(sqlDbContextSettings.CustomJsonConverters); var entityType = typeof(TEntity); entityTypeName = GetEventLogEntityTypeName(createDbContext, entityType); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { ConfigureEventLog(modelBuilder); var jsonConverters = CustomJsonConvertersBuilder.Build(settings.CustomJsonConverters); foreach (var type in settings.SqlEntitiesRegistry.GetEntityTypes()) { modelBuilder .Entity(type) .ApplyTimestampConverter() .ApplyJsonColumns(jsonConverters) .ApplyIndices() .ApplyUniqueConstraints(); } }