【问题标题】:EF code-first PluralizingTableNameConvention for ONE DbSet用于 ONE DbSet 的 EF 代码优先 PluralizingTableNameConvention
【发布时间】:2011-11-22 06:39:38
【问题描述】:

如何仅为单个表/DbSet 切换此约定PluralizingTableNameConvention?据我所知,对于给定的DbContext,我只能对所有DbSets 执行此操作

【问题讨论】:

    标签: c# entity-framework-4 entity-framework-4.1


    【解决方案1】:

    如果您只有一个实体映射到非复数表,那么您可以删除PluralizingTableNameConvention 并手动配置实体的表名。

    public class MyContext : DbContext
    {
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
    
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    
            modelBuilder.Entity<Item>().ToTable("Items");
        }
     }
    

    反之亦然

    public class MyContext : DbContext
    {
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
    
            modelBuilder.Entity<Item>().ToTable("Item");
        }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 2012-05-17
      相关资源
      最近更新 更多