28 lines
600 B
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DAL.Models
{
public abstract class Model<TBase, TAudit>
{
[Key]
[Column("id")]
public ulong id { get; set; }
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public User updaterRelation { get; set; } = null!;
public ICollection<TAudit> audits { get; set; } = new List<TAudit>();
public abstract TAudit adaptToAudit();
public abstract void updateModel(ref TBase dest);
}
}