Skip to content

配置实体

每个实体类对应一个数据库表,每个实体属性对应一个数据库字段。

系统使用软删除, 字段:IsDeleted

对应数据库表中: IsDeleted = 0 表示 未删除 的数据, IsDeleted = 1 表示 已删除 的数据。

对应代码中: IsDeleted = false 表示 未删除 的数据, IsDeleted = true 表示 已删除 的数据。

系统基础库

实体类中包含特性:[UtilsTable],则表示该表会映射到系统基础数据库

业务库

实体类中不包含特性:[UtilsTable],则表示该表会映射到业务数据库

注意点及说明

  1. 实体命名空间必须为: Mom.Core.Domain.Model.Entity !!! 否则将不会映射到数据库中
  1. 实体类中如果包含特性:[UtilsTable],则表示该表会映射到系统基础数据库中, 否则将作为业务数据库表。
  1. 实体类必须继承 RootEntity<T>,泛型参数为实体主键类型,如:intlongGuid等。
  1. 实体类可使用 SugarTable 特性,指定实体类对应的数据库表名, 如:[SugarTable("sys_user")] 表示: 代码中实体是 SysUser --> 实际数据库表名称是 sys_user, 系统内已默认进行转换。
  1. 实体类属性可使用 SugarColumn 特性,指定实体属性对应的数据库字段的属性, 如: 枚举转换成字符串存储、设置字段为可空、忽略映射到表中等等。

更多实体配置请参考:SqlSugar 官方文档

e.g:

cs
using SqlSugar.DbConvert;
using SqlSugar;

namespace Mom.Core.Domain.Model.Entity
{
    /// <summary>
    /// 内箱表
    /// </summary>
    public class Box : RootEntity<int>
    {
        /// <summary>
        /// 箱号
        /// </summary>
        public string No { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar(20)", SqlParameterDbType = typeof(EnumToStringConvert))]
        public BoxStatus Status { get; set; }

        /// <summary>
        /// 容量
        /// </summary>
        public decimal Total { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public decimal Qty { get; set; }

        /// <summary>
        /// 工单id
        /// </summary>
        public int WorkOrderId { get; set; }

        /// <summary>
        /// 产品料号id
        /// </summary>
        public int PartId { get; set; }

        /// <summary>
        /// 产线id
        /// </summary>
        public int LineId { get; set; } = 0;

        /// <summary>
        /// 工位id
        /// </summary>
        public int WorkstationId { get; set; } = 0;

        /// <summary>
        /// 工序id
        /// </summary>
        public int ProcessOperationId { get; set; } = 0;
    }
}
using SqlSugar.DbConvert;
using SqlSugar;

namespace Mom.Core.Domain.Model.Entity
{
    /// <summary>
    /// 内箱表
    /// </summary>
    public class Box : RootEntity<int>
    {
        /// <summary>
        /// 箱号
        /// </summary>
        public string No { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [SugarColumn(ColumnDataType = "varchar(20)", SqlParameterDbType = typeof(EnumToStringConvert))]
        public BoxStatus Status { get; set; }

        /// <summary>
        /// 容量
        /// </summary>
        public decimal Total { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public decimal Qty { get; set; }

        /// <summary>
        /// 工单id
        /// </summary>
        public int WorkOrderId { get; set; }

        /// <summary>
        /// 产品料号id
        /// </summary>
        public int PartId { get; set; }

        /// <summary>
        /// 产线id
        /// </summary>
        public int LineId { get; set; } = 0;

        /// <summary>
        /// 工位id
        /// </summary>
        public int WorkstationId { get; set; } = 0;

        /// <summary>
        /// 工序id
        /// </summary>
        public int ProcessOperationId { get; set; } = 0;
    }
}