EaCloud MySql 数据库组件

说明
- EaCloud MySql 数据库组件,封装基于 Pomelo.EntityFrameworkCore.MySql 的数据访问功能的实现。
- 支持 MySQL、MariaDB。
用法
可按照如下配置方式使用:
- 通过nuget引用
EaCloud.EntityFrameworkCore.MySql 程序集
Install-Package EaCloud.EntityFrameworkCore.MySql
- 在
appsettings.json 中的 EaCloud 节点下添加如下配置节点
{
//数据库上下文集合
"DbContexts": {
//默认数据库上下文
"DefaultDbContext": {
"DbContextTypeName": "EaCloud.Entity.DefaultDbContext,EaCloud.EntityFrameworkCore", //上下文类型全名(默认数据库上下文)
"DatabaseType": "MySql", //数据库类型:"Cosmos"(Azure Cosmos DB 的 SQL API)、"Kdbndp"(人大金仓)、"MySql"、"Oracle"、"PostgreSql"、"Sqlite"、"SqlServer"
"ConnectionString": "server=localhost;port=3306;database=EaCloud_DEV;uid=root;pwd=XXX;Allow User Variables=True", //连接字符串(MySql)
//从数据库配置
"SlaveDatabase": {
"SlaveSelector": "Weight", //从数据库选择策略:Weight(平滑权重)、Random(随机)、Sequence(顺序轮询)
//从数据库集合
"SlaveDatabases": [
{
"Name": "Slave01", //数据库名
"Weight": 2, //权重(1-100)
"ConnectionString": "server=localhost;port=3306;database=EaCloud_DEV.Slave01;uid=root;pwd=XXX;Allow User Variables=True", //连接字符串(MySql)
},
{
"Name": "Slave02", //数据库名
"Weight": 5, //权重(1-100)
"ConnectionString": "server=localhost;port=3306;database=EaCloud_DEV.Slave02;uid=root;pwd=XXX;Allow User Variables=True", //连接字符串(MySql)
}
]
},
"CommandTimeout": 120, //命令执行超时时长(秒)
"LazyLoadingProxiesEnabled": false, //是否启用延迟加载代理
"DateTimeUtcFormatEnabled": false, //是否启用时间UTC格式
"EntityAuditEnabled": true, //是否启用数据审计
"EntityEventEnabled": true, //是否启用数据事件
"MigrationAssemblyName": "[Your Migration Assembly Name]", //迁移的程序集名称(为空时默认"DesignTime[Your Name]DbContextFactory"所在程序集),PS:Cosmos暂不支持
"MigrationEnabled": true //启用自动迁移,PS:Cosmos暂不支持
}
},
}
交流