如何将第一个表的主键值更新为第二个表中的外键(实体框架代码第一个模型)?

时间:2014-11-30 18:10:54

标签: c# entity-framework entity-framework-6

我有两个模特人和成员

public class Person
{
    public int PersonId { get; set; }
    public string Name { get; set; }
    public DateTime DateOfBirth { get; set; }
    public int Age { get; set; }
    public ICollection<Membership> Memberships { get; set; }
}

public class Membership
{
    public int MembershipId { get; set; }
    public string Status { get; set; }
    public string ProgrammeGroup { get; set; }
    public int Package { get; set; }
}

Person的主键被指定为

的成员资格的外键
    public ICollection<Membership> Memberships { get; set; }

我想在Membership模型中进行与Person模型相关的db更改。

假设,我想更新Person xyz的成员资格详细信息,并且所有字段都使用以下代码进行更新,但我不知道如何更新Person的主键作为成员资格的外键。

有人可以帮我解决这个问题吗?

        Membership m = new Membership();

        m.Status = cbStatus.SelectedItem.ToString();
        m.ProgrammeGroup = cbProgramme.SelectedItem.ToString();
        m.Package = Convert.ToInt32(cbPackage.SelectedItem.ToString());
        db.Memberships.Add(m);

        db.SaveChanges();

1 个答案:

答案 0 :(得分:0)

我已从人员对象的数据库中获取Person并添加到其Memberships集合中......

person.Memberships = new List<Membership> { m };