| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | using SqlSugar;using System;using System.ComponentModel.DataAnnotations.Schema;namespace WCS.Entity{    /// <summary>    /// 实体类通用基础类    /// </summary>    [Serializable]    public abstract class OBJ    {        /// <summary>        /// ID        /// </summary>        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "ID")]        [Column(Order = 0)]        public virtual int ID { get; set; }        /// <summary>        /// 是否可用        /// </summary>        [SugarColumn(ColumnDescription = "是否可用")]        public bool Enabled { get; set; } = true;        /// <summary>        /// 创建用户        /// 仅记录用户ID        /// </summary>        [SugarColumn(ColumnDescription = "创建用户", Length = 50)]        public string AddWho { get; set; }        /// <summary>        /// 创建时间        /// 新增数据时自动获取服务器时间        /// </summary>        [SugarColumn(ColumnDescription = "创建时间", InsertServerTime = true)]        public virtual DateTime AddTime { get; set; }        /// <summary>        /// 更新用户        /// 仅记录用户ID        /// </summary>        [SugarColumn(ColumnDescription = "更新用户", Length = 50, IsNullable = true)]        public string EditWho { get; set; }        /// <summary>        /// 更新时间        /// 更新数据时自动获取服务器时间        /// </summary>        [SugarColumn(ColumnDescription = "更新时间", UpdateServerTime = true, IsNullable = true)]        public DateTime EditTime { get; set; }        /// <summary>        /// 版本号        /// </summary>        [SugarColumn(ColumnDescription = "版本号", ColumnDataType = "timestamp", IsNullable = true, IsOnlyIgnoreInsert = true, IsOnlyIgnoreUpdate = true)]        public byte[] VER { get; set; }        /// <summary>        ///        /// </summary>        /// <typeparam name="T"></typeparam>        /// <returns></returns>        public T Copy<T>() where T : OBJ        {            var instance = Activator.CreateInstance<T>();            foreach (var property in GetType().GetProperties())            {                var obj = property.GetValue(this);                typeof(T).GetProperty(property.Name)!.SetValue(instance, obj);            }            return instance;        }    }}
 |