Entity Framework 映射的时候默认给数据库表名添加复数“s”或者“es”的解决办法

361 阅读1分钟

1 #region 实体映射 2 public DbSet UserInfos { get; set; } 3 public DbSet SiteInfos { get; set; } 4 public DbSet ParentBanKuais { get; set; } 5 public DbSet NewInfos { get; set; } 6 public DbSet GgTypes { get; set; } 7 public DbSet AdvertisingInfos { get; set; } 8 public DbSet FriendLinkss { get; set; } 9 public DbSet ChildBanKuai { get; set; } 10 #endregion 复制代码

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #region 覆盖默认的约定----默认情况下EF将实体映射到数据库中dbo架构下的同名表上 ///

/// 覆盖默认的约定 /// /// protected override void OnModelCreating(DbModelBuilder modelBuilder) { //移除EF映射默认给表名添加“s“或者“es” modelBuilder.Conventions.Remove(); modelBuilder.Conventions.Remove(); PluralizingTableNameConvention 解决办法 modelBuilder.Entity().HasKey(u => u.Id); //modelBuilder.Entity().HasKey(u => u.Id).ToTable("UserInfo"); modelBuilder.Entity().HasKey(s=>s.Id); modelBuilder.Entity().HasKey(p=>p.Id); modelBuilder.Entity().HasKey(n => n.Id); modelBuilder.Entity().HasKey(g => g.Id); modelBuilder.Entity().HasKey(g => g.Id).HasRequired(a=>a.GgType); modelBuilder.Entity().HasKey(f => f.Id); //modelBuilder.Entity().HasKey(c => c.Id); modelBuilder.Entity().HasKey(c => c.Id).HasRequired(c => c.ParentBanKuai); modelBuilder.Entity().ToTable("ChildBanKuai"); base.OnModelCreating(modelBuilder); } #endregion   

“/”应用程序中的服务器错误。

对象名'dbo.NewInfo无效。