我與MVC &實體框架和嘗試跟蹤更改。這是我的代碼片段:實體框架跟蹤變化
string historyText = "<ul>";
ICollection<LookUp> oldPositions = fromDB.LookUps;
fromDB.LookUps.Clear();
IEnumerable<LookUp> allPositionTypes = lookUpRepository.GetByLookupTypeId(24);
foreach (var interest in chkPositionType)
{
fromDB.LookUps.Add(allPositionTypes.Where(x => x.LookUpID == Convert.ToInt32(interest)).Single());
if (!oldPositions.Contains(allPositionTypes.Where(x => x.LookUpID == Convert.ToInt32(interest)).Single()))
historyText += "<li>" + "Position Type : <span class='history-old'> </span><span class='history-separator'>|</span><span class='history-new'>" + lkupRepo.GetByID(Convert.ToInt32(interest)).Name + "</span></li>";
}
historyText += "</ul>";
由於某種原因,只要我清除查找,它就會將oldPositions設置爲null。我還想知道我添加的那些新的和那些被刪除但沒有再添加的。所以基本上需要跟蹤變化。
有什麼替代方法嗎?如果它更好,我也可以採用它。
'oldPositions'和'fromDB.LookUps'引用同一個對象。 –