正在尝试更新实体的列表

本文关键字:实体 列表 更新 | 更新日期: 2023-09-27 18:25:37

所以我的设置如下:SupportTicket-包含一个名为Messages的SupportTicketMessags列表。SupportTicketMessage-包含UserProfile和消息

我正在尝试使用以下方法将SupportTicketMessage添加到我现有的SupportTicket列表中:

public void AddReply(string message, UserProfile author)
{
    using (ContextDb db = new ContextDb())
    {
        SupportTicketMessage msg = new SupportTicketMessage(author, message);
        Messages.Add(msg);
        db.UserProfiles.Attach(Owner);
        db.Entry(this).State = EntityState.Modified;
        db.SaveChanges();
    }
}

然而,每当我尝试这样做时,我都会得到以下错误:

ObjectStateManager中已存在具有相同键的对象。ObjectStateManager无法跟踪具有相同键的多个对象

在以下行:

db.Entry(this).State = EntityState.Modified;

综上所述:我正在向列表中添加一个对象,并希望将该对象保存到数据库中。我该怎么做?

正在尝试更新实体的列表

您不必显式地更改对象的状态。实体框架会自动为您执行此操作。