69 lines
1.8 KiB
C#
69 lines
1.8 KiB
C#
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace IRaCIS.Core.Domain.Models
|
|
{
|
|
public abstract class Entity : IEntity<Guid>
|
|
{
|
|
[Key]
|
|
[Required]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
|
public Guid Id { get; set; }
|
|
}
|
|
|
|
public interface IEntity<TKey>
|
|
{
|
|
abstract TKey Id { get; set; }
|
|
}
|
|
|
|
#region 减少实体属性,增加基类
|
|
|
|
public abstract class BaseAuditAddEntity : Entity, IAuditAdd
|
|
{
|
|
|
|
public Guid CreateUserId { get; set; }
|
|
public DateTime CreateTime { get; set; }
|
|
}
|
|
|
|
public abstract class BaseFullAuditEntity : Entity, IAuditUpdate, IAuditAdd
|
|
{
|
|
public Guid CreateUserId { get; set; }
|
|
public DateTime CreateTime { get; set; }
|
|
public Guid UpdateUserId { get; set; }
|
|
public DateTime UpdateTime { get; set; }
|
|
}
|
|
|
|
|
|
public abstract class BaseFullAuditDeleteEntity : Entity, IAuditUpdate, IAuditAdd, ISoftDelete
|
|
{
|
|
public Guid? DeleteUserId { get; set; }
|
|
public bool IsDeleted { get; set; }
|
|
public DateTime? DeletedTime { get; set; }
|
|
public Guid CreateUserId { get; set; }
|
|
public DateTime CreateTime { get; set; }
|
|
public Guid UpdateUserId { get; set; }
|
|
public DateTime UpdateTime { get; set; }
|
|
}
|
|
|
|
|
|
|
|
public abstract class BaseAuditAddEntityWithUserName : Entity, IAuditAddWithUserName
|
|
{
|
|
public string CreateUser { get; set; }
|
|
|
|
public Guid CreateUserId { get; set; }
|
|
public DateTime CreateTime { get; set; }
|
|
}
|
|
|
|
public abstract class BaseAuditUpdateEntity : Entity, IAuditUpdate
|
|
{
|
|
public Guid UpdateUserId { get; set; }
|
|
public DateTime UpdateTime { get; set; }
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
}
|