整理数据库实体备注
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-09-20 18:20:37 +08:00
parent d3e3ed79ba
commit 40c8a51a31
174 changed files with 5006 additions and 6652 deletions
+100 -102
View File
@@ -1,107 +1,105 @@
using IRaCIS.Core.Domain.BaseModel;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public interface IAggregateRoot;
public interface IEntity<TKey>
{
public interface IAggregateRoot;
public interface IEntity<TKey>
{
abstract TKey Id { get; set; }
}
//针对dicom
public interface IEntitySeqId
{
public Guid SeqId { get; set; }
}
public abstract class Entity : IEntity<Guid>
{
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
#region
[JsonIgnore]
private readonly List<DomainEvent> _domainEvents = [];
[JsonIgnore]
[NotMapped]
public IReadOnlyCollection<DomainEvent> DomainEvents => _domainEvents.AsReadOnly();
public void AddDomainEvent(DomainEvent domainEvent)
{
_domainEvents.Add(domainEvent);
}
public void RemoveDomainEvent(DomainEvent domainEvent)
{
_domainEvents.Remove(domainEvent);
}
public void ClearDomainEvents()
{
_domainEvents.Clear();
}
#endregion
}
#region
public abstract class BaseAddAuditEntity : Entity, IAuditAdd
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public virtual User CreateUser { get; set; }
}
public abstract class BaseAddDeleteAuditEntity : Entity, IAuditAdd, ISoftDelete
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public Guid? DeleteUserId { get; set; }
public bool IsDeleted { get; set; }
public DateTime? DeletedTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { 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; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseFullDeleteAuditEntity : 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; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseAuditUpdateEntity : Entity, IAuditUpdate
{
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
}
#endregion
abstract TKey Id { get; set; }
}
//针对dicom
public interface IEntitySeqId
{
public Guid SeqId { get; set; }
}
public abstract class Entity : IEntity<Guid>
{
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
#region
[JsonIgnore]
private readonly List<DomainEvent> _domainEvents = [];
[JsonIgnore]
[NotMapped]
public IReadOnlyCollection<DomainEvent> DomainEvents => _domainEvents.AsReadOnly();
public void AddDomainEvent(DomainEvent domainEvent)
{
_domainEvents.Add(domainEvent);
}
public void RemoveDomainEvent(DomainEvent domainEvent)
{
_domainEvents.Remove(domainEvent);
}
public void ClearDomainEvents()
{
_domainEvents.Clear();
}
#endregion
}
#region
public abstract class BaseAddAuditEntity : Entity, IAuditAdd
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public virtual User CreateUser { get; set; }
}
public abstract class BaseAddDeleteAuditEntity : Entity, IAuditAdd, ISoftDelete
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public Guid? DeleteUserId { get; set; }
public bool IsDeleted { get; set; }
public DateTime? DeletedTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { 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; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseFullDeleteAuditEntity : 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; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseAuditUpdateEntity : Entity, IAuditUpdate
{
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
}
#endregion