abp.net mysql_ABP .Net Core Entity Framework迁移使用MySql数据库

一、迁移说明

ABP模板项目Entity Framework Core默认使用的是Sql Server,也很容易将数据库迁移到MySQL,步骤如下。

二、迁移MySQL步骤

1、 下载项目

请到 http://aspnetboilerplate.com/Templates 下载一个新的项目,选择ASP.NET Core 2.x标签,Target Framework:选中.Net Core就可以了。

2、 移除默认SQL Server相关包

在EntityFrameworkCore项目下移除包Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Design

a48573e7b04f209288572628f06c8023.png

3、  添加MySql程序包

添加程序包Pomelo.EntityFrameworkCore.MySql、Pomelo.EntityFrameworkCore.MySql.Design

43660648c4d66521958df9a89fb70a53.png

4、  修改源代码

修改DbContextConfigurer

public static class AbpBasicDbContextConfigurer

{

public static void Configure(DbContextOptionsBuilder builder, string connectionString)

{

//builder.UseSqlServer(connectionString);

builder.UseMySql(connectionString);

}

public static void Configure(DbContextOptionsBuilder builder, DbConnection connection)

{

//builder.UseSqlServer(connection);

builder.UseMySql(connection);

}

}

c555e2eac055d288579022ad55797313.png

5、  修改数据库链接字符串

在web项目配置文件appsettings.json

42c2e830f0498bc743769651fa54889f.png

6、  数据迁移

重新生成迁移文件

在下载启动模板的时候,如果你选择了包含 Module Zero。这里会有一些迁移文件会包含在你的项目中,但是这些文件是为Sql Server迁移使用的。请打开 .EntityFramework 项目中的Migrations文件夹,然后删除这些迁移文件。迁移文件是以时间戳开始的。迁移文件的名字像这样:201506210746108_AbpZero_Initial。

1e08b02a80cdc1c2c930dc18baee6830.png

在删除所有的迁移文件后,选择你的 .Web 项目为开始项目,打开VS的包管理控制台,并在包管理控制台中选择 .EntityFramework 项目作为默认项目。然后在控制台中执行下面命令:

Add-Migration "AbpZero_Initial"

ca37b0e32332bdc6462f93005635ebe2.png

现在你可以使用下面命令来创建数据库:

Update-Database

fb46b72e762d78716e8850de5c3793a8.png

所有的事情都已完成,检查 MySQL数据库已生产成功

2b53afe49ec4e45ef56c2117cd37ce4e.png

7、  完成MySQL迁移后运行浏览成功

5f910dedf6278165d3cf14161015499c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABP 应用程序中,您可以使用 Dapper 和 Entity Framework Core 两种 ORM 工具之一,或者甚至可以同时使用它们来访问数据库。以下是如何在 ABP 应用程序中同时使用 Dapper 和 Entity Framework Core 的步骤: 1.添加 Dapper 和 Entity Framework Core 的依赖项 在您的 ABP 应用程序中,您需要添加 Dapper 和 Entity Framework Core 的依赖项。您可以通过 NuGet 包管理器或手动编辑项目文件添加这些依赖项。添加 Dapper 和 Entity Framework Core 的依赖项后,您需要在 `Startup.cs` 文件中配置它们。 2.配置 Dapper 和 Entity Framework Core 在 `Startup.cs` 文件中,您需要配置 Dapper 和 Entity Framework Core。以下是一个示例: ```csharp public void ConfigureServices(IServiceCollection services) { // Add Dapper services.AddScoped<IDbConnection>(x => new SqlConnection(Configuration.GetConnectionString("Default"))); // Add Entity Framework Core services.AddAbpDbContext<MyProjectDbContext>(options => { options.AddDefaultRepositories(includeAllEntities: true); }); } ``` 在上面的代码中,我们使用 `AddScoped` 方法将 `IDbConnection` 注册为一个服务,并指定使用 `SqlConnection` 类创建连接。然后,我们使用 `AddAbpDbContext` 方法将 `MyProjectDbContext` 注册为一个服务,并指定包含所有实体。 3.编写 Dapper 和 Entity Framework Core 的查询 在您的应用程序中,您可以使用 Dapper 和 Entity Framework Core 的查询来访问数据库。以下是一个示例: ```csharp public class MyService : ITransientDependency { private readonly IDbConnection _connection; private readonly IRepository<MyEntity> _repository; public MyService(IDbConnection connection, IRepository<MyEntity> repository) { _connection = connection; _repository = repository; } public async Task<MyEntity> GetEntity(int id) { // Use Dapper var entity = await _connection.QueryFirstOrDefaultAsync<MyEntity>("SELECT * FROM MyEntities WHERE Id = @Id", new { Id = id }); // Use Entity Framework Core entity = await _repository.GetAsync(id); return entity; } } ``` 在上面的代码中,我们注入 `IDbConnection` 和 `IRepository<MyEntity>`,并在 `GetEntity` 方法中使用它们来执行 Dapper 和 Entity Framework Core 的查询。 需要注意的是,使用 Dapper 和 Entity Framework Core 的查询时,您需要务必遵循正确的事务处理和连接管理方式,以确保应用程序的数据完整性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值