配置实体
每个实体类对应一个数据库表,每个实体属性对应一个数据库字段。
系统使用软删除, 字段:IsDeleted
,
对应数据库表中:
IsDeleted = 0 表示 未删除 的数据, IsDeleted = 1 表示 已删除 的数据。
对应代码中:
IsDeleted = false 表示 未删除 的数据, IsDeleted = true 表示 已删除 的数据。
系统基础库
实体类中包含特性:[UtilsTable]
,则表示该表会映射到系统基础数据库
中
业务库
实体类中不包含特性:[UtilsTable]
,则表示该表会映射到业务数据库
中
注意点及说明
- 实体命名空间必须为:
Mom.Core.Domain.Model.Entity
!!! 否则将不会映射到数据库中
- 实体类中如果包含特性:
[UtilsTable]
,则表示该表会映射到系统基础数据库
中, 否则将作为业务数据库
表。
- 实体类必须继承
RootEntity<T>
,泛型参数为实体主键类型,如:int
、long
、Guid
等。
- 实体类可使用
SugarTable
特性,指定实体类对应的数据库表名, 如:[SugarTable("sys_user")]
表示: 代码中实体是SysUser
--> 实际数据库表名称是sys_user
, 系统内已默认进行转换。
- 实体类属性可使用
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;
}
}