refactor(Entity): move shared audit and identity fields to base Entity class

This commit is contained in:
tekh 2025-07-18 10:44:13 +02:00
parent de79e10e57
commit 6f19c5d12a
3 changed files with 25 additions and 45 deletions

View File

@ -1,5 +1,28 @@
namespace DigitalData.DEX.Domain.Entities;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DigitalData.DEX.Domain.Entities;
public abstract class Entity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column("GUID", TypeName = "bigint")]
public virtual long Guid { get; set; }
[Required]
[Column("ADDED_WHO", TypeName = "nvarchar(50)")]
[MaxLength(50)]
public virtual string AddedWho { get; set; } = null!;
[Required]
[Column("ADDED_WHEN", TypeName = "datetime")]
public virtual DateTime AddedWhen { get; set; }
[Column("CHANGED_WHO", TypeName = "nvarchar(50)")]
[MaxLength(50)]
public virtual string? ChangedWho { get; set; }
[Column("CHANGED_WHEN", TypeName = "datetime")]
public virtual DateTime? ChangedWhen { get; set; }
}

View File

@ -6,11 +6,6 @@ namespace DigitalData.DEX.Domain.Entities;
[Table("TBDEX_OUTPUT", Schema = "dbo")]
public class Output : Entity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column("GUID", TypeName = "bigint")]
public long Guid { get; set; }
[Required]
[Column("PROFILE_ID", TypeName = "smallint")]
public short ProfileId { get; set; }
@ -46,20 +41,4 @@ public class Output : Entity
[Column("COMMENT", TypeName = "nvarchar(max)")]
public string? Comment { get; set; }
[Required]
[Column("ADDED_WHO", TypeName = "nvarchar(50)")]
[MaxLength(50)]
public string AddedWho { get; set; } = null!;
[Required]
[Column("ADDED_WHEN", TypeName = "datetime")]
public DateTime AddedWhen { get; set; }
[Column("CHANGED_WHO", TypeName = "nvarchar(50)")]
[MaxLength(50)]
public string? ChangedWho { get; set; }
[Column("CHANGED_WHEN", TypeName = "datetime")]
public DateTime? ChangedWhen { get; set; }
}

View File

@ -1,5 +1,4 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DigitalData.DEX.Domain.Entities;
@ -7,11 +6,6 @@ namespace DigitalData.DEX.Domain.Entities;
[Table("TBDEX_OUTPUT_REFERENCES", Schema = "dbo")]
public class OutputReferences : Entity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column("GUID", TypeName = "bigint")]
public long Guid { get; set; }
[Column("OUTPUT_ID", TypeName = "bigint")]
public long OutputId { get; set; }
@ -59,20 +53,4 @@ public class OutputReferences : Entity
[MaxLength(50)]
[Column("EXPORT_NUMBER", TypeName = "nvarchar(50)")]
public string? ExportNumber { get; set; }
[Required]
[MaxLength(50)]
[Column("ADDED_WHO", TypeName = "nvarchar(50)")]
public string AddedWho { get; set; } = null!;
[Required]
[Column("ADDED_WHEN", TypeName = "datetime")]
public DateTime AddedWhen { get; set; }
[MaxLength(50)]
[Column("CHANGED_WHO", TypeName = "nvarchar(50)")]
public string? ChangedWho { get; set; }
[Column("CHANGED_WHEN", TypeName = "datetime")]
public DateTime? ChangedWhen { get; set; }
}