У меня есть интерфейс ITiming:
public interface ITiming
{
DateTime CreatedAt { get; set; }
DateTime UpdatedAt { get; set; }
}
И несколько классов, которые его реализуют:
public class Post : ITiming
{
public int IdPost { get; set; }
public string Title { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
В моем построителе моделей я устанавливаю AfterSaveBehavior
для каждой сущностикоторый реализует ITiming, например:
modelBuilder.Entity<Post>(entity =>
{
entity.HasKey(e => e.IdPost);
entity.Property(e => e.CreatedAt)
.Metadata.AfterSaveBehavior = PropertySaveBehavior.Ignore;
});
Как я могу абстрагировать AfterSaveBehaviour для всех сущностей столбцов CreatedAt, которые реализуют ITiming?
// not sure about this
foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
if (typeof(ITiming).IsAssignableFrom(entityType.ClrType))
{
??
}
}