using SqlSugar; using System; using System.ComponentModel.DataAnnotations; namespace GDZZ.Core.Entity; /// /// 自定义实体基类 /// [Tenant(CommonConst.MasterDb)] public abstract class DEntityBase : PrimaryKeyEntity { /// /// 创建时间 /// [SugarColumn(ColumnDescription = "创建时间", IsNullable = true)] public virtual DateTime? CreatedTime { get; set; } /// /// 更新时间 /// [SugarColumn(ColumnDescription = "更新时间", IsNullable = true)] public virtual DateTime? UpdatedTime { get; set; } /// /// 创建者Id /// [SugarColumn(ColumnDescription = "创建者Id", IsNullable = true)] public virtual long? CreatedUserId { get; set; } /// /// 创建者名称 /// [MaxLength(20)] [SugarColumn(ColumnDescription = "创建者名称", IsNullable = true)] public virtual string CreatedUserName { get; set; } /// /// 修改者Id /// [SugarColumn(ColumnDescription = "修改者Id", IsNullable = true)] public virtual long? UpdatedUserId { get; set; } /// /// 修改者名称 /// [MaxLength(20)] [SugarColumn(ColumnDescription = "修改者名称", IsNullable = true)] public virtual string UpdatedUserName { get; set; } /// /// 软删除 /// [SugarColumn(ColumnDescription = "软删除")] public virtual bool IsDeleted { get; set; } = false; /// /// 更新信息列 /// /// public virtual string[] UpdateColumn() { var result = new[] {nameof(UpdatedUserId), nameof(UpdatedUserName), nameof(UpdatedTime)}; return result; } /// /// 假删除的列,包含更新信息 /// /// public virtual string[] FalseDeleteColumn() { var updateColumn = UpdateColumn(); var deleteColumn = new[] {nameof(IsDeleted)}; var result = new string [updateColumn.Length + deleteColumn.Length]; deleteColumn.CopyTo(result, 0); updateColumn.CopyTo(result, deleteColumn.Length); return result; } } /// /// 递增主键实体基类 /// public abstract class AutoIncrementEntity { /// /// 主键Id /// [SugarColumn(IsIdentity = true, ColumnDescription = "Id主键", IsPrimaryKey = true)] //通过特性设置主键和自增列 // 注意是在这里定义你的公共实体 public virtual int Id { get; set; } } /// /// 主键实体基类 /// public abstract class PrimaryKeyEntity { /// /// 主键Id /// [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true)] // 注意是在这里定义你的公共实体 public virtual long Id { get; set; } }