1
CLR 유형의 기본 인터페이스가 특정 인터페이스를 구현하는 엔티티의 속성을 변경할 수 있도록 ModelBuilder/Fluent API를 이해하려고합니다. 내가 CLRType을 기본 상관 없음 엔티티를 찾으려면 OnModelCreating 동안Poco Interface partcipation을 기반으로하는 ModelBuilder
public interface IVersionedEntity
{
DateTime ValidFrom { get; set; }
DateTime ValidTo { get; set; }
}
이 인터페이스를 구현하고 ValueGeneratedOnAddOrUpdate가되도록 ValidFrom 및 ValidTo 특성을 변화 :
같은 인터페이스를 감안할 때.기본적으로 ModelBuilder에서 "IsAssignableFrom"유형 테스트를 수행 할 적절한 장소를 찾고 있습니다.
감사합니다.
var versionedEntityTypes = modelBuilder.Model.GetEntityTypes()
.Where(type => typeof(IVersionedEntity).IsAssignableFrom(type.ClrType));
foreach (var type in versionedEntityTypes)
{
type.FindProperty("ValidFrom").ValueGenerated = ValueGenerated.OnAddOrUpdate;
type.FindProperty("ValidTo").ValueGenerated = ValueGenerated.OnAddOrUpdate;
}
완벽한, 감사 : 여기 – Frank