using CMS.Plugin.PipeLineLems.Domain;
using CMS.Plugin.PipeLineLems.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity;
namespace CMS.Plugin.PipeLineLems.MySQL;
///
/// EntityFrameworkCore模块
///
[DependsOn(typeof(CMSPluginEntityFrameworkCoreModule))]
public class CMSPluginMySQLModule : AbpModule
{
///
public override void PreConfigureServices(ServiceConfigurationContext context)
{
CMSPluginEfCoreEntityExtensionMappings.Configure();
}
///
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAbpDbContext(options =>
{
/* Remove "includeAllEntities: true" to create
* default repositories only for aggregate roots */
//options.AddDefaultRepositories(includeAllEntities: true);
});
Configure(options =>
{
/* The main point to change your DBMS.
* See also CMSMigrationsDbContextFactory for EF Core tooling. */
options.UseMySQL(x =>
{
x.MigrationsHistoryTable(CMSPluginDbProperties.MigrationsHistoryTable, CMSPluginDbProperties.DbSchema);
//x.EnableRetryOnFailure();
});
});
}
}