EaCloud PostgreSql 数据库组件,封装基于 Npgsql.EntityFrameworkCore.PostgreSQL 的数据访问功能的实现。
$ dotnet add package EaCloud.EntityFrameworkCore.PostgreSql可按照如下配置方式使用:
EaCloud.EntityFrameworkCore.PostgreSql 程序集Install-Package EaCloud.EntityFrameworkCore.PostgreSql
appsettings.json 中的 EaCloud 节点下添加如下配置节点{
//数据库上下文集合
"DbContexts": {
//默认数据库上下文
"DefaultDbContext": {
"DbContextTypeName": "EaCloud.Entity.DefaultDbContext,EaCloud.EntityFrameworkCore", //上下文类型全名(默认数据库上下文)
"DatabaseType": "PostgreSql", //数据库类型:"Cosmos"(Azure Cosmos DB 的 SQL API)、"Kdbndp"(人大金仓)、"MySql"、"Oracle"、"PostgreSql"、"Sqlite"、"SqlServer"
"ConnectionString": "User ID=postgres;Password=abc123456;Host=localhost;Port=5432;Database=EaCloud_DEV", //连接字符串(PostgreSql)
//从数据库配置
"SlaveDatabase": {
"SlaveSelector": "Weight", //从数据库选择策略:Weight(平滑权重)、Random(随机)、Sequence(顺序轮询)
//从数据库集合
"SlaveDatabases": [
{
"Name": "EaCloud_DEV_Slave01", //数据库名
"Weight": 2, //权重(1-100)
"ConnectionString": "User ID=postgres;Password=abc123456;Host=localhost;Port=5432;Database=EaCloud_DEV_Slave01", //连接字符串(PostgreSql)
},
{
"Name": "EaCloud_DEV_Slave02", //数据库名
"Weight": 5, //权重(1-100)
"ConnectionString": "User ID=postgres;Password=abc123456;Host=localhost;Port=5432;Database=EaCloud_DEV_Slave02", //连接字符串(PostgreSql)
}
]
},
"LazyLoadingProxiesEnabled": true, //是否启用延迟加载代理
"DateTimeUtcFormatEnabled": false, //是否启用时间UTC格式
"AuditEntityEnabled": true, //是否允许审计实体
"MigrationAssemblyName": "EaCloud.Svc.Biz", //迁移的程序集名称(为空时默认"DesignTimeXXXDbContextFactory"所在程序集)
"MigrationEnabled": true //启用自动迁移
}
},
}