[英]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();
}
我只能访问Member和Memberstep表,但不能访问其关系表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.