28 lines
600 B
C#
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);
|
|
}
|
|
}
|