می توانید یک Interface تعریف کنید که فقط فیلد تاریخ و ساعت رو داشته باشه. بعد متد SaveChanges در DbContext رو Override کنید و چک کنید که اگر شی دارای این Interface باشه مقدار تاریخ و ساعت رو درج کنه. بعد فقط کافیه Interface رو به هر جدولی که نیاز به تاریخ و ساعت داره اضافه کنید. اینجوری یک مدریت مرکزی روی ثبت تاریخ و ساعت دارید.
foreach (
var entry in
ChangeTracker.Entries()
.Where(e => e.Entity is ITimeCreatedInfo && e.State == EntityState.Added)
.Select(e => e.Entity as ITimeCreatedInfo))
{
entry.TimeCreated = DateTime.Now;
}
اینترفیس :
public interface ITimeCreatedInfo
{
DateTime TimeCreated { get; set; }
}
روشهای دیگه هم خوبه اما باید دقت کنید که وقتی دارید ویرایش می کنید زمان ایجاد نباید تغییر کنه. زمان ایجاد یک بار و در زمان ایجاد رکورد ثبت میشه.