当我使用脚手架创建视图时,我的一个属性没有出现在生成的视图中。该属性应作为我的LOV (类似于prod的category属性) ..see链接http://weblogs.asp.net/scottgu/archive/2011/05/05/ef-code-first-and-data-scaffolding-with-the-asp-net-mvc-3-tools-update.aspx
这是我的实体。
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属性。
该属性不会出现在我的视图中,但如果我手动添加它,则该属性将起作用。
此外,该属性应该在我的创建或编辑视图上显示为下拉列表。
提前谢谢。
发布于 2011-08-11 20:17:40
对于一些可能遇到这种事情的人来说..
下面是我是如何让它工作的。
将此代码从
HasRequired(b=>b.MemberType)
.WithRequiredDependent()
.Map(b => b.MapKey("TYPE_ID"));到这一个
Property(b => b.MemberTypeID).HasColumnName("TYPE_ID");
HasRequired(a => a.MemberType)
.WithMany()
.HasForeignKey(u => u.MemberTypeID);在MapMember类中。
并在成员类中添加了一个属性
public string MemberTypeID { get; set; }谢谢
https://stackoverflow.com/questions/7012173
复制相似问题