У меня есть следующие объекты: Большинство удаленных свойств.
public class WorkQueue : IEntity
{
public WorkQueue()
{
}
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
public virtual ICollection<Action> Actions { get; set; }
public virtual ICollection<Role> AllowableRoles { get; set; }
}
public class Role: IEntity
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
public virtual ICollection<Action> Actions { get; set; }
public virtual ICollection<WorkQueue> AllowedWorkQueues { get; set; }
}
public class Action: IEntity
{
public Action()
{
Roles = new HashSet<Role>();
}
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
public string Name { get; set; }
public virtual Guid WorkQueue_Id { get; set; }
public virtual WorkQueue WorkQueue { get; set; }
public virtual ICollection<Role> Roles { get; set; }
}
AllowableRoles
- это комбинированный список Role
объектов, содержащихся в каждом Action
коллекции Actions
WorkQueue
.
Когда я перебираю AllowableRoles
и устанавливаю для каждого из EntityState
ролей значение Unchanged
, я все равно получаю дубликат записи, вставляемой в таблицу ролей при создании объекта WorkQueue
.
Почему это происходит?
Пожалуйста, обратитесь к моему предыдущему сообщению за более подробным сообщением, которое можно найти здесь