未在View中检索到数据库中添加的列

时间:2016-12-31 13:02:09

标签: entity-framework asp.net-mvc-5 visual-studio-2015

我正在从udemy做一个在线ASP.net MVC5课程。我使用EF迁移为我的表添加了一个新列。

添加名称列

namespace Vidly.Migrations
{
    using System;
    using System.Data.Entity.Migrations;

    public partial class AddNameToMembershipTypes : DbMigration
    {
        public override void Up()
        {
            AddColumn("dbo.MembershipTypes","Name",c => c.String(nullable:false));
        }

        public override void Down()
        {
            DropColumn("dbo.MembershipTypes","Name");
        }
    }
}

然后我更新了我的数据库以进行此迁移。

确认的屏幕截图

enter image description here

Customer和MembershipTypes表具有一对一的关系,我可以从Customer Table中检索MembershipTypes字段。

唯一的问题是新专栏"名称"我刚刚添加到MembershipTypes,因为我在最顶层描述的不是从View中检索的。

以下是视觉确认(虽然我尝试添加姓名但收到错误)

enter image description here

当我强行尝试访问姓名时,我得到了以下

enter image description here

我无法理解为什么我无法访问名称字段,因为我已经使用迁移添加了一些值并更新了我的数据库。 我的感觉是客户和会员类型之间的联系需要以某种方式更新,但我不知道如何?

1 个答案:

答案 0 :(得分:2)

AddNameToMembershipTypes中的更改仅用于更新数据库架构。这不会自动更新您的实体类。您仍然需要将新属性添加到MemberShipType类。

public class MembershipType
{
   public string Name { set;get;}  // This one here

   // Your existing properties here
   public int DurationInMonths { set;get; }
}