Skip to content

数据字典模块

DataDictionaryManagement

  • 当Setting模块满足不了我们的需求的时候,可以使用数据字典模块
  • 需要一些配置可以使用这个模块,比如配置枚举,系统设置之类等
  • 当前模块在生成项目的时候默认会集成

如何集成

  • 在对应的层添加对应的引用
  • 添加 DependsOn(typeof(DataDictionaryManagementXxxModule)) 特性到对应模块
    • Lion.AbpPro.DataDictionaryManagement.Application
    • Lion.AbpPro.DataDictionaryManagement.Application.Contracts
    • Lion.AbpPro.DataDictionaryManagement.Domain
    • Lion.AbpPro.DataDictionaryManagement.Domain.Shared
    • Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore
    • Lion.AbpPro.DataDictionaryManagement.HttpApi
    • Lion.AbpPro.DataDictionaryManagement.HttpApi.Client
  • 在自己的dbcontext中实现接口:IDataDictionaryManagementDbContext
  • 在 EntityFrameworkCore 层添加数据库配置在 AbpProDbContext.cs 的 OnModelCreating()方法中添加 builder.ConfigureDataDictionaryManagement();

如何配置单独数据库

  • 数据库连接名称:DataDictionaryManagement
  • 在appsetting.json下配置
json
 "ConnectionStrings": {
    "Default": "Data Source=localhost;Database=LionAbpProDB;uid=root;pwd=mypassword;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true",
    "DataDictionaryManagement": "Data Source=localhost;Database=DataDictionaryManagement;uid=root;pwd=mypassword;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
  }

配置不同租户的数据库连接

  • 在租户管理的数据库连接字符串管理中配置
  • 这个要事先把表结构生成

如何修改表前缀

  • DataDictionaryManagementDbProperties.DbTablePrefix
    • 重新指定即可
csharp
public static class DataDictionaryManagementDbProperties
{
    public static string DbTablePrefix { get; set; } = "Abp";
    public static string DbSchema { get; set; } = null;
    public const string ConnectionStringName = "DataDictionaryManagement";
}

数据库连接

如果没有指定DataDictionaryManagement数据连接名称,都会使用Default的数据库连接.

表结构说明

DataDictionary 表结构:

字段名描述类型
IdIdGuid
TenantId租户 idGuid?
Code字典编码string
DisplayText显示名string
Description描述DateTime
Details字典明细List
IsDeleted是否删除bool
DeleterId删除人Guid?
DeletionTime删除时间DateTime
LastModifierId最后修改人Guid?
LastModificationTime最后修改时间DateTime
CreatorId创建人Guid?
CreationTime创建时间DateTime

DataDictionaryDetail 表结构:

字段名描述类型
IdIdGuid
DataDictionaryId所属字典 IdGuid
Order排序Int
Code字典编码string
IsEnabled启/停用(默认启用)bool
DisplayText显示名string
Description描述DateTime
IsDeleted是否删除bool
DeleterId删除人Guid?
DeletionTime删除时间DateTime
LastModifierId最后修改人Guid?
LastModificationTime最后修改时间DateTime
CreatorId创建人Guid?
CreationTime创建时间DateTime

默认领域服务

  • 注入既可以使用IDataDictionaryManager操作数据字典相关功能。

如有转载或 CV 的请标注本站原文地址