スキャフォールディングを使用してビューを作成すると、生成されたビューに自分のプロパティの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プロパティです。
このプロパティは私のビューには表示されませんが、手動で追加するとそのプロパティが機能します。
さらに、そのプロパティは作成ビューまたは編集ビューのドロップダウンリストのように見えるはずです。
ありがとうございます。