abp执行mysql语句_[原创]Abp vNext 0.15框架 切换MySQL数据库使用

在 FETCH 语句中选项 NEXT 的用法无效。

System.Data.SqlClient.SqlException (0x80131904): 'OFFSET' 附近有语法错误。

由于在使用sql server2008 时会报错以上错误,需要2012以上版本才行。不想麻烦所以改用MySQL数据库使用。

ABP vNext介绍

过去的一段时间,我们正在设计一个新的主要版本的ASP.NET Boilerplate框架。

框架的名称保持不变,除了我们将其仅称为“ABP”而不是“ASP.NET Boilerplate”。因为,“Boilerplate(样板)”会导致误解,并没反映出它是一个框架(而不是样板代码)。我们继续使用“ABP”名称,因为它是当前ASP.NET Boilerplate框架的继承者,除了它是完全重写的。

Abp vNext是Abp的下一代版本,目前还在经一步完善,代码全部重写,好的东西保留了下来,去除了很多笨重的东西,从官宣来看,Abp vNext主要是为了以后微服务架构而诞生的。

Abp vNext已经支持了多种数据库,Sql Server,MySql,PostgreSql等。默认情况下,你创建的项目使用的是Sql Server版本,如果需要切换到MySql的话需要:

第一步,在你的XXX.XXX.EntityFrameworkCore(Abp的EF框架模块,用来创建DbContext,数据迁移用的)中,从NuGet中安装Volo.Abp.EntityFrameworkCore.MySQL

第二步修改代码,打开XXXMigrationsDbContextFactory.cs

public XXXMigrationsDbContext CreateDbContext(string[] args)

{

var configuration = BuildConfiguration();

var builder = new DbContextOptionsBuilder()

.UseSqlServer(configuration.GetConnectionString("Default"));//UseSqlServer修改为UseMySql

//.UseMySql(configuration.GetConnectionString("Default"));

return new XXXMigrationsDbContext(builder.Options);

}

默认启动的时候他还是会选择Sql Server,我们看下代码,在Web项目下的XXXWebModule.cs,xx是你的项目名,这个是我们web的Module文件,我们知道Abp是一个Module加载的框架。随后修改ConfigureDatabaseServices方法:

private void ConfigureDatabaseServices()

{

Configure(options =>

{

//options.UseSqlServer();

options.UseMySQL();

});

}

然后在程序包管理器控制台选中XXX.EntityFrameworkCore.DbMigrations执行Update-Database 生成数据库,运行程序正常使用,到此也就完成了Abp vNext 切换MySQL数据库的使用。

PM> Update-Database

Applying migration '20190320072839_Initial'.

Applying migration '20190328093603_Created_Book_Entity'.

Done.

出处:http://www.vnfan.com/helinbin/d/1663f9910c0a6ea5.html

转载请在文章明显位置注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值