2016-12-31 11 views
0

udemy.Iからオンライン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

カスタマーとMembershipTypes表の確認ため

スクリーンショットは、1対1の関係を持っていると私は、顧客表からMembershipTypesのフィールドを取得することができています。

唯一の問題は、私が一番上に記載したようにMembershipTypesに追加したばかりの新しい列 "Name"がビューから取得されないことです。 (私は名前を追加しようとしましたが、エラーが発生しましたが)に続いて

は、私は強制的に名にアクセスしようとしたとき、私は

enter image description here

を以下しまった

enter image description here

目視確認で

名前欄にアクセスできない理由が表示されない私も移行を使用して値を設定し、データベースを更新しました。 私の気持ちは、CustomerとMembershipTypesの間のリンクがどうにか更新される必要がありますが、私はどのように知っているのでしょうか?

+1

愚かに聞こえるかもしれませんが、 'Name'プロパティを' MembershipType'クラスに追加しましたか?私はあなたがdbテーブルを表示したが、エンティティモデル(クラス)を表示していないので尋ねています。 –

+0

いいえ私はしなかった..............そして、私が本当にばかげているので、それは愚かに聞こえないかもしれません...........。 –

+0

また、私は今すぐEFコードを使用して作業を始めたので教えてください。メンバーシップタイプ.csにそのフィールドを追加した今、私のモデルをどのように更新すればいいのですか? –

答えて

2

AddNameToMembershipTypesの変更は、データベーススキーマを更新する場合にのみ適用されます。これでエンティティクラスは自動的には更新されません。それでも新しいプロパティをMemberShipTypeクラスに追加する必要があります。

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

    // Your existing properties here 
    public int DurationInMonths { set;get; } 
} 
関連する問題