Backend/e-suite.Database.Audit/e-suite.Database.Audit/Tables/Audit/AuditDrillHierarchy.cs
2026-01-20 21:50:10 +00:00

40 lines
1.3 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using e_suite.Database.Audit.Attributes;
using e_suite.Database.Audit.Models;
using Microsoft.EntityFrameworkCore;
namespace e_suite.Database.Audit.Tables.Audit;
[NoAudit]
[Table("AuditDrillHierarchies", Schema = "Audit")]
public class AuditDrillHierarchy : IId
{
[Key]
public long Id { get; set; }
[Required]
public long ParentAuditDrillDownEntityId { get; set; }
[Required]
public long ChildAuditDrillDownEntityId { get; set; }
[ForeignKey(nameof(ParentAuditDrillDownEntityId))]
public virtual AuditEntry ParentAuditDrillDownEntity { get; set; } = null!;
[ForeignKey(nameof(ChildAuditDrillDownEntityId))]
public virtual AuditEntry ChildAuditDrillDownEntity { get; set; } = null!;
public static void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<AuditDrillHierarchy>()
.HasOne(x => x.ParentAuditDrillDownEntity)
.WithMany()
.OnDelete(DeleteBehavior.NoAction);
modelBuilder.Entity<AuditDrillHierarchy>()
.HasOne(x => x.ChildAuditDrillDownEntity)
.WithMany()
.OnDelete(DeleteBehavior.NoAction);
}
}