using System; using System.Collections.Generic; using ASC.Common; using ASC.Core.Common.EF.Model; using Microsoft.EntityFrameworkCore; namespace ASC.Core.Common.EF.Context { public class MySqlFeedDbContext : FeedDbContext { } public class PostgreSqlFeedDbContext : FeedDbContext { } public class FeedDbContext : BaseDbContext { public DbSet FeedLast { get; set; } public DbSet FeedAggregates { get; set; } public DbSet FeedUsers { get; set; } public DbSet FeedReaded { get; set; } protected override Dictionary> ProviderContext { get { return new Dictionary>() { { Provider.MySql, () => new MySqlFeedDbContext() } , { Provider.Postgre, () => new PostgreSqlFeedDbContext() } , }; } } protected override void OnModelCreating(ModelBuilder modelBuilder) { ModelBuilderWrapper .From(modelBuilder, Provider) .AddFeedUsers() .AddFeedReaded() .AddFeedAggregate() .AddFeedLast(); } } public static class FeedDbExtension { public static DIHelper AddFeedDbService(this DIHelper services) { return services.AddDbContextManagerService(); } } }