繁体   English   中英

如何首先在 asp.net 代码中创建两个表之间的关系?

[英]How to create relation between two tables in asp.net code first?

我创建了两个表 Member 和 MemberStep,这些表有多对多的关系

我已经使用 fluent API 添加了这两个表之间的关系。

这是代码:

public class MemberStep
{
    public int ID { get; set; }
    public int StepNumber { get; set; }
    public virtual IList<Member> Members { get; set; } 
}

public class Member
{
    public int ID { get; set; }
    public int ParentId { get; set; }
    public string Name { get; set; }
    public string PersonGender { get; set; }
    public string Email { get; set; }
    public string PhoneNo { get; set; }

    public virtual IList<MemberStep> MemberSteps { get; set; }
}

这是关系的fluitAPi代码:

modelBuilder.Entity<MemberStep>()
           .HasMany<Member>(s => s.Members)
           .WithMany(m => m.MemberSteps)
           .Map(sm =>
           {
               sm.MapLeftKey("StepID");
               sm.MapRightKey("MemberID");
               sm.ToTable("StepMembersRelation");
           });

数据库中的表:

public DbSet<Member> Members { get; set; }
public DbSet<MemberStep> MemberSteps { get; set; }

我已将步骤添加到 MemberSteps 中,例如 1、2 和 3

现在我需要将成员添加到 Members 表中,我还需要将其步骤添加到StepMembersRelation表中,但我无法将数据添加到此表中,因为我无法在 lambda 表达式中访问此表。

public ActionResult AddUser(Member mem)
    {
        if (ModelState.IsValid)
        {
            _context.Members.Add(mem);
        }
        return View();
    }

我只能访问MemberMemberstep表,但不能访问其关系表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM