.net 在EF 6.1自定义代码优先约定中,哪种方式更有效?

.net 在EF 6.1自定义代码优先约定中,哪种方式更有效?,.net,entity-framework-6,.net,Entity Framework 6,我目前有一个代码如下所示: protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Properties<byte[]>() .Where(p => p.DeclaringType.IsType(typeof(BaseModel)) && (p.Name == "Version"))

我目前有一个代码如下所示:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Properties<byte[]>()
        .Where(p => p.DeclaringType.IsType(typeof(BaseModel)) && 
                (p.Name == "Version"))
        .Configure(p => p.IsRowVersion());
}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
modelBuilder.Properties()
其中(p=>p.DeclaringType.IsType(typeof(BaseModel))&&
(p.Name==“版本”))
.Configure(p=>p.IsRowVersion());
}
我刚刚找到了一个更好的方法来这样写:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Types<BaseModel>().Configure(a => a.Property(x => x.Version).IsRowVersion());
}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
modelBuilder.Types().Configure(a=>a.Property(x=>x.Version.IsRowVersion());
}
但我的问题是,它会以任何方式影响性能或可靠性吗


基本上,第二段代码是否与第一段代码相当,或者是否有任何性能或可靠性方面的考虑需要考虑?

第二段代码对我来说肯定更容易阅读,看起来非常像感谢您的链接,它确实非常有帮助,因为它显示了一种更好的方法,可以在同一类型上配置多个属性,并确认这也是其他人使用的(可能也是出于一个很好的原因)。