我有一個名爲Message的模型。在該模型中,有一個名爲Resource的另一個模型的ICollection ResourceSubscribers。當我嘗試一個實體對象不能被IEntityChangeTracker的多個實例引用
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);」行引發一個InvalidOperationException異常消息「一個實體對象不能被多個IEntityChangeTracker實例引用」。
感謝您的回答。 public void SaveMessage(List subscribers) Condition.Requires(model).IsNotNull();消息模型= new Message(); //初始化模型的一些作業 ICollection res = new List (); foreach(var訂閱者中的項目) { res.Add(this.Context.Resources.Find(item)); } model.ResourceSubscribers = res; Context.Messages.Add(model); 上下文。保存更改(); } 爲我工作。 –
dload
@dload:如果這是幫助您解決問題的答案,則應通過單擊複選標記將其標記爲已接受。 –