using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace Ewide.Core
{
///
/// 自定义实体基类
///
public abstract class DEntityBase : IEntity
{
///
/// 主键Id
///
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Comment("Id主键")]
[Column("Id", TypeName = "varchar(36)")]
public virtual string Id { get; set; } = String.Empty;
///
/// 创建时间
///
[Comment("创建时间")]
public virtual DateTime? CreatedTime { get; set; }
///
/// 更新时间
///
[Comment("更新时间")]
public virtual DateTime? UpdatedTime { get; set; }
///
/// 创建者Id
///
[Comment("创建者Id")]
[Column("CreatedUserId", TypeName = "varchar(36)")]
public virtual string CreatedUserId { get; set; }
///
/// 创建者名称
///
[Comment("创建者名称")]
[MaxLength(20)]
public virtual string CreatedUserName { get; set; }
///
/// 修改者Id
///
[Comment("修改者Id")]
[Column("UpdatedUserId", TypeName = "varchar(36)")]
public virtual string UpdatedUserId { get; set; }
///
/// 修改者名称
///
[Comment("修改者名称")]
[MaxLength(20)]
public virtual string UpdatedUserName { get; set; }
///
/// 软删除
///
[JsonIgnore, FakeDelete(true)]
[Comment("软删除标记")]
[Column("IsDeleted", TypeName = "bit")]
public virtual bool IsDeleted { get; set; } = false;
}
}