Entity framework core 基于POCO接口的modelbuilderfluent

Entity framework core 基于POCO接口的modelbuilderfluent,entity-framework-core,Entity Framework Core,我正试图找出ModelBuilder/Fluent API,这样我就可以修改底层CLR类型实现特定接口的实体的属性 给定一个接口,例如: public interface IVersionedEntity { DateTime ValidFrom { get; set; } DateTime ValidTo { get; set; } } 在onmodel创建期间,我希望找到实现此接口的底层CLRType的任何实体,然后将ValidFrom和ValidTo属性更改为valueG

我正试图找出ModelBuilder/Fluent API,这样我就可以修改底层CLR类型实现特定接口的实体的属性

给定一个接口,例如:

public interface IVersionedEntity
{
    DateTime ValidFrom { get; set; }
    DateTime ValidTo { get; set; }
}
在onmodel创建期间,我希望找到实现此接口的底层CLRType的任何实体,然后将ValidFrom和ValidTo属性更改为valueGeneratedAndorUpdate

基本上,我正在寻找在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;
}

这是一个起点:

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;
}

太好了,谢谢。事实上,我从未看过“ClrType”,尽管这正是我想要的。太好了,谢谢。事实上,我从未见过“ClrType”,尽管这正是我想要的。