Abp vNext 使用Mysql数据库

1.项目 EntityFrameworkCore 添加引用 Volo.Abp.EntityFrameworkCore.MySQL。

2.在 EntityFrameworkCoreModule.cs 中代码 typeof(AbpEntityFrameworkCoreSqlServerModule) 修改为 typeof(AbpEntityFrameworkCoreMySQLModule) 。

[DependsOn(
        typeof(MyProjectDomainModule),
        typeof(AbpIdentityEntityFrameworkCoreModule),
        typeof(AbpIdentityServerEntityFrameworkCoreModule),
        typeof(AbpPermissionManagementEntityFrameworkCoreModule),
        typeof(AbpSettingManagementEntityFrameworkCoreModule),
        typeof(AbpEntityFrameworkCoreMySQLModule),
        typeof(AbpBackgroundJobsEntityFrameworkCoreModule),
        typeof(AbpAuditLoggingEntityFrameworkCoreModule),
        typeof(AbpTenantManagementEntityFrameworkCoreModule),
        typeof(AbpFeatureManagementEntityFrameworkCoreModule)
        )]

 

3.在 EntityFrameworkCoreModule.cs 中 修改 options.UseSqlServer() 为 options.UseMySQL()。

public override void ConfigureServices(ServiceConfigurationContext context)
{
    context.Services.AddAbpDbContext<MyProjectDbContext>(options =>
    {
        /* Remove "includeAllEntities: true" to create
         * default repositories only for aggregate roots */
        options.AddDefaultRepositories(includeAllEntities: true);
    });

    Configure<AbpDbContextOptions>(options =>
    {
        /* The main point to change your DBMS.
         * See also MyProjectMigrationsDbContextFactory for EF Core tooling. */
        options.UseMySQL();
    });
}

 

4.在 DbContextModelCreatingExtensions.cs 中 ConfigureMyProject 方法 添加 builder.UseMySQL();  代码。 

public static void ConfigureMyProject(this ModelBuilder builder)
{
    Check.NotNull(builder, nameof(builder));

    /* Configure your own tables/entities inside here */

    //builder.Entity<YourEntity>(b =>
    //{
    //    b.ToTable(MyProjectConsts.DbTablePrefix + "YourEntities", MyProjectConsts.DbSchema);

    //    //...
    //});

    builder.UseMySQL();
}

5. 项目 EntityFrameworkCore.DbMigrations 中 MigrationsDbContextFactory.cs  修改 .UseSqlServer 为 .UseMySQL。

public MyProjectMigrationsDbContext CreateDbContext(string[] args)
{
    MyProjectEfCoreEntityExtensionMappings.Configure();

    var configuration = BuildConfiguration();

    var builder = new DbContextOptionsBuilder<MyProjectMigrationsDbContext>()
        .UseMySql(configuration.GetConnectionString("Default"));

    return new MyProjectMigrationsDbContext(builder.Options);
}

 

UseMySql
posted @ 2020-06-17 09:55  HUGO.CM  阅读(383)  评论(0编辑  收藏  举报