feat(Output): Hinzufügen von Eigenschaften zur Output-Entität mit vollständiger EF Core-Zuordnung

- Einführung des Primärschlüssels ‚Guid‘ mit Identitätsgenerierung
- Felder für Profil-ID, Batch-ID, Inhalt, Exportdetails und Audit-Metadaten hinzugefügt
- Anwendung von Datenanmerkungen für Schema-Mapping, Einschränkungen und Validierung
This commit is contained in:
tekh 2025-07-18 10:23:56 +02:00
parent bb97ed5ccd
commit bdc02e0521

View File

@ -1,8 +1,65 @@
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
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; }
[Column("BATCH_ID", TypeName = "nvarchar(25)")]
[MaxLength(25)]
public string? BatchId { get; set; }
[Required]
[Column("CONTENT", TypeName = "nvarchar(max)")]
public string Content { get; set; } = null!;
[Column("EXPORT_FILE_NAME", TypeName = "nvarchar(100)")]
[MaxLength(100)]
public string? ExportFileName { get; set; }
[Column("EXPORT_FILE_HASH_TYPE", TypeName = "nvarchar(25)")]
[MaxLength(25)]
public string? ExportFileHashType { get; set; }
[Column("EXPORT_FILE_HASH_VALUE", TypeName = "nvarchar(250)")]
[MaxLength(250)]
public string? ExportFileHashValue { get; set; }
[Column("EXPORT_WHEN", TypeName = "datetime")]
public DateTime? ExportWhen { get; set; }
[Column("EXPORT_STATUS", TypeName = "tinyint")]
public byte? ExportStatus { get; set; }
[Column("EXPORT_STATUS_MESSAGE", TypeName = "nvarchar(max)")]
public string? ExportStatusMessage { get; set; }
[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; }
}