メッセージというモデルがあります。モデルには、Resourceと呼ばれる別のモデルのICollectionResourceSubscribersがあります。私がしようとすると
public void SaveMessage(List<int> subscribers)
{
Condition.Requires(model).IsNotNull();
Message model = new Message();
//Some assignments to initialize the model
ICollection<Resource> res = new List<Resource>();
foreach (var item in subscribers)
{
res.Add(this.ResourceService.GetResourceById(item));
}
model.ResourceSubscribers = res;
Context.Messages.Add(model);
Context.SaveChanges();
}
「Context.Messages.Add(model);」行は、「エンティティオブジェクトはIEntityChangeTrackerの複数のインスタンスによって参照できません。」というメッセージとともにInvalidOperationExceptionをスローします。