首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >先使用代码的MVC 3(搭建不起作用)

先使用代码的MVC 3(搭建不起作用)
EN

Stack Overflow用户
提问于 2011-08-10 22:08:54
回答 1查看 400关注 0票数 0

当我使用脚手架创建视图时,我的一个属性没有出现在生成的视图中。该属性应作为我的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

这是我的实体。

代码语言:javascript
复制
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; }
}

表映射..

代码语言:javascript
复制
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..

代码语言:javascript
复制
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属性。

该属性不会出现在我的视图中,但如果我手动添加它,则该属性将起作用。

此外,该属性应该在我的创建或编辑视图上显示为下拉列表。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2011-08-11 20:17:40

对于一些可能遇到这种事情的人来说..

下面是我是如何让它工作的。

将此代码从

代码语言:javascript
复制
HasRequired(b=>b.MemberType)
 .WithRequiredDependent()
 .Map(b =>  b.MapKey("TYPE_ID"));

到这一个

代码语言:javascript
复制
Property(b => b.MemberTypeID).HasColumnName("TYPE_ID");
        HasRequired(a => a.MemberType)
            .WithMany()
            .HasForeignKey(u => u.MemberTypeID);

在MapMember类中。

并在成员类中添加了一个属性

代码语言:javascript
复制
public string MemberTypeID { get; set; }

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7012173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档