实体框架的级联更新

时间:2017-04-07 08:38:30

标签: c# entity-framework edit

我想更新有孩子AccountProfile的帐户对象,但我得到一个例外,说明附加实体失败了,因为同一类型的另一个实体已经拥有相同的主键值...

我想知道如何更新这些实体,尤其是AccountProfile,因为我可以从列表中添加/删除Beneficiary个对象。是否可以执行类似级联更新的操作?或创建一个处理这些类型的实体更新的方法。

帐户类:

Public class Account(){
    public int AccountID { get; set; }
    public string UserName { get; set; }
    public int RoleID { get; set; }
    public int ProfileID { get; set; }
    public virtual AccountProfile Profile { get; set; }
    public virtual Role Role { get; set; }
}

AccountProfile类:

public class AccountProfile
{
    public int ProfileID { get; set; }
    public string FullName { get; set; }
    public virtual ICollection<Beneficiary> Beneficiaries { get; set; }
}

受益人类别:

Public Class Beneficiary()
{
    public int BeneficiaryID { get; set; }
    public string Name { get; set; }
}

编辑方法:

   public void Edit(Account account)
    {
        _context.Entry(account).State = EntityState.Modified;
        _context.SaveChanges();           
    }

0 个答案:

没有答案