首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EF Core Fluent Api链接配置

EF Core Fluent Api链接配置
EN

Stack Overflow用户
提问于 2018-03-09 21:12:15
回答 1查看 260关注 0票数 0

我如何在EF Core Fluent API中链接它,而不是为table的每个属性逐行重复:

代码语言:javascript
复制
        builder.Entity<FoodWeight>().HasIndex(x => x.NutrientDatabankNumber);
        builder.Entity<FoodWeight>().Property(x => x.NutrientDatabankNumber).HasColumnName("NDB_No");
        builder.Entity<FoodWeight>().Property(x => x.SequenceNumber).HasColumnName("Seq");
        builder.Entity<FoodWeight>().Property(x => x.Amount).HasColumnName("Amount");
        builder.Entity<FoodWeight>().Property(x => x.Description).HasColumnName("Msre_Desc");
        builder.Entity<FoodWeight>().Property(x => x.GramWeight).HasColumnName("Gm_Wgt");
        builder.Entity<FoodWeight>().Property(x => x.GramWeight).HasColumnName("Gm_Wgt");
        builder.Entity<FoodWeight>().Property(x => x.NumberOfDataPoints).HasColumnName("Num_Data_Pts");
        builder.Entity<FoodWeight>().Property(x => x.StandardDeviation).HasColumnName("Std_Dev");
EN

回答 1

Stack Overflow用户

发布于 2019-02-11 11:26:18

您总是可以向EntityTypeBuilder添加扩展方法,但这并不会大大减少冗长:

代码语言:javascript
复制
modelBuilder
    .Entity<FoodWeight>()
    .Configure(
        entity => entity.HasIndex(x => x.NutrientDatabankNumber),
        entity => entity.Property(x => x.NutrientDatabankNumber).HasColumnName("NDB_No"),
        entity => entity.Property(x => x.SequenceNumber).HasColumnName("Seq")
    );

和扩展方法:

代码语言:javascript
复制
public static class EntityTypeBuilderExtensions
{
    public static void Configure<T>(this EntityTypeBuilder<T> modelBuilder, params Action<EntityTypeBuilder<T>>[] builders) where T : class
    {
        builders
            .ToList()
            .ForEach(builder => builder(modelBuilder));
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49194589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档