| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 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>        /// 更新用户        /// </summary>        [SugarColumn(ColumnDescription = "更新用户", Length = 50)]        public string UPDATEUSER { get; set; }        /// <summary>        /// 更新用户详细信息        /// </summary>        [Navigate(NavigateType.OneToOne, nameof(UPDATEUSER))]        public WCS_USERS USER { get; set; }        /// <summary>        /// 更新时间        /// </summary>        [SugarColumn(ColumnDescription = "更新时间")]        public DateTime UPDATETIME { get; set; } = DateTime.Now;        /// <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;        }    }}
 |