2011-08-10 6 views
0

スキャフォールディングを使用してビューを作成すると、生成されたビューに自分のプロパティの1つが表示されませんでした。そのプロパティは私のLOV(商品のカテゴリプロパティのように)として動作する必要があります。参照リンクhttp://weblogs.asp.net/scottgu/archive/2011/05/05/ef-code-first-and-data-scaffolding-with-the-asp-net-mvc-3-tools-update.aspxコードを最初に使用するMVC 3(スキャフォールディングは機能しません)

Heres私のエンティティ。

public class Member 
{ 

    public string ID { get; set; } 
    public string Name { get; set; } 
    public System.DateTime DateApplied { get; set; } 
    public System.DateTime? DateMembered { get; set; } 
} 

public class MemberType 
{ 

    public string ID { get; set; } 
    public string Description { get; set; } 

} 

public class BIMember : Member 
{ 

    public new string ID { get; set; } 
    [DisplayName("Name/Business Name")] 
    public new string Name { get; set; } 
    public virtual BIMemberType MemberType { get; set; } 
} 

public class BIMemberType : MemberType 
{ 

    public new string ID { get; set; } 
    public virtual ICollection<BIMember> Members { get; set; } 
} 

表マッピング..

public class MapMember : EntityTypeConfiguration<BIMember> 
{ 

    public MapMember() 
     : base() 
    { 
     HasKey(b => b.ID).Property(b => b.ID).HasColumnName ("ID"); 
     Property(b => b.Name).HasColumnName ("NAME"); 
     Property(b => b.DateApplied).HasColumnName("DTM_APPLIED"); 
     Property(b => b.DateMembered).HasColumnName("DTM_MEMBERED"); 

     HasRequired(b=>b.MemberType) 
      .WithMany(p=>p.Members) 
      .Map(b => b.MapKey("TYPE_ID")); 
     ToTable("MBR"); 

    } 
} 

public class MapMemberType : EntityTypeConfiguration<BIMemberType> 
{ 

    public MapMemberType() 
     : base() 
    { 
     HasKey(p => p.ID).Property(p => p.ID).HasColumnName("ID"); 
     Property(p => p.ID).HasColumnName("ID"); 
     Property(p => p.Description).HasColumnName("DESCRIPTION"); 

     ToTable("MBR_TYPE"); 

    } 
} 

と私のdbcontext ..

public class ManagerContext : DbContext 
{ 
    public DbSet<BIMember> Members { get; set; } 
    public DbSet<BIMemberType> MemberTypes { get; set; } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Configurations.Add(new MapMemberType()); 
     modelBuilder.Configurations.Add(new MapMember()); 
     base.OnModelCreating(modelBuilder); 
    } 
} 

イムが話しプロパティは、会員エンティティのBIMemberTypeプロパティです。

このプロパティは私のビューには表示されませんが、手動で追加するとそのプロパティが機能します。

さらに、そのプロパティは作成ビューまたは編集ビューのドロップダウンリストのように見えるはずです。

ありがとうございます。

答えて

0

このことに遭遇する可能性のある人もいます。

どのように私はそれを働かせます。

変化

HasRequired(b=>b.MemberType) 
.WithRequiredDependent() 
.Map(b => b.MapKey("TYPE_ID")); 

からMapMemberクラスでこれ

Property(b => b.MemberTypeID).HasColumnName("TYPE_ID"); 
     HasRequired(a => a.MemberType) 
      .WithMany() 
      .HasForeignKey(u => u.MemberTypeID); 

このコード。

public string MemberTypeID { get; set; } 

おかげ

メンバークラスでプロパティを追加しました
関連する問題