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

本文关键字:第一个 实体 框架 代码 模型 键值 更新 第二个 | 更新日期: 2023-09-27 18:32:35

我有两个模型 Person 和 Membership

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; }
}
"

人员"的主键作为外键分配给"成员身份"

    public ICollection<Membership> Memberships { get; set; }

我想在成员模型中进行与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();

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

我已经从数据库中获取了 Person in Person 对象并添加到其成员资格集合中......

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