У меня есть родительский объект с этой схемой:EntityFramework ошибка кратности при удалении элемента из коллекции
public class User : EntityBase
{
private List<UserCompany> _UserCompanies = new List<UserCompany>();
// The list of companies the user can act upon, with a flag indicating their Primary company
public virtual List<UserCompany> UserCompanies
{
get { return _UserCompanies; }
set { _UserCompanies = value; }
}
}
и дочерний объект, который выглядит следующим образом:
public class UserCompany : EntityBase
{
[Required]
public virtual User User { get; set; }
[Required]
public virtual Company Company { get; set; }
[Required]
public virtual bool IsPrimary { get; set; }
}
Оба наследуют от EntityBase class:
public abstract class EntityBase
{
protected int _id;
/// <summary>Database record ID.</summary>
[DataMember(IsRequired = true)]
[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual int Id
{
get { return _id; }
set { _id = value; }
}
}
Объекты не имеют явной конфигурации модели, за исключением этого общего е:
public EntityBaseConfiguration()
{
HasKey(m => m.Id);
Property(m => m.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
}
Проблема у меня в том, что удаление UserCompany из результатов сбора User.UserCompanies в этой ошибки:
* Отношения от «UserCompany_User» AssociationSet находится в «Удаленные ' государство. Учитывая ограничения множественности, соответствующий «UserCompany_User_Source» также должен находиться в состоянии «Удалено». *
Моя интерпретация этой ошибки является то, что он хочет, чтобы объект User был отмечен как удаленный, а это не мое намерение. Может ли кто-нибудь сообщить, как успешно удалить объект UserCompany в этом случае (без удаления пользователя или компании)?