EF - 更改表名无效

时间:2016-07-19 11:00:06

标签: entity-framework asp.net-mvc-4

更改我的表名似乎与其他人不同。所以我决定对一个单独的项目进行测试,以澄清到目前为止我尝试过的事情。

  1. 我已经拥有一个包含4个桌子的数据库"餐厅"和"餐馆2"具有相同的结构
  2. 我开始了一个新的mvc 4项目" Internet Application"被选中
  3. 创建了3个课程
  4. 数据库

    enter image description here

    错误消息

    enter image description here代码

    public class MyDB : DbContext
    {
        public MyDB()
            : base("name=DefaultConnection") { }
        //(1) protected override void OnModelCreating(DbModelBuilder modelBuilder)
        //{
        //    //Changing Database table name to Metadata
        //    modelBuilder.Entity<Restaurant>()
        //        .ToTable("Restaurants2");
        //}
        //(2) protected override void OnModelCreating(DbModelBuilder modelBuilder)
        //{
        //    modelBuilder.Entity<Restaurant>().ToTable("Restaurants2");
        //    // otherwise EF assumes the table is called "Products"
        //}
        //(3) protected override void OnModelCreating(DbModelBuilder modelBuilder)
        //{
        //    modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        //}
        public DbSet<Restaurant> Restaurants { get; set; }
        public DbSet<RestaurantReview> Reviews { get; set; }
    }
    //[Table("Restaurants2")]
    public class Restaurant
    {
        //[Column("Id")]
        public int Id { get; set; }
        //[Column("Name")]
        public string Name { get; set; }
        //[Column("City")]
        public string City { get; set; }
        //[Column("Country")]
        public string Country { get; set; }
    
        public ICollection<RestaurantReview> Reviews { get; set; }
    }
    public class RestaurantReview
    {
        public int Id { get; set; }
        public int RestaurantId { get; set; }
        public string Body { get; set; }
        public int Rating { get; set; }
    }
    
    1. 首先,如果你看一下代码而忽略了我最初开始的项目评论。它可以正常显示餐厅数据。
    2. 我的目标是展示桌子&#34;餐厅2&#34;使用相同的实体,所以我所做的是添加属性等[表(&#34; Restaurants2&#34;)]到我的餐厅课程。但这给了我一个错误。
    3. 我已经在我的餐厅课程中评论了所有属性并使用了#34;(1)OnModelCreating&#34;功能,但这给了我同样的错误
    4. 然后我尝试第二个&#34;(2)OnModelCreating&#34;功能,它仍然给了我同样的错误
    5. 我回到了我从一开始就开始的初始状态然后我改变了我的&#34;餐厅&#34;班级名称为&#34;餐馆2&#34;但它仍然给了我同样的错误
    6. 然后我使用了第三个&#34;(3)OnModelCreating&#34;函数希望它不会复数我的表名,但它仍然给了我同样的错误。
    7. 我真的不走运!我做错了什么?

0 个答案:

没有答案