我是 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>";
出于某种原因,一旦我清除 Lookups,它也会将 oldPositions 设置为 null。我也想知道我添加的新的和那些被删除但没有再次添加的。所以基本上需要跟踪变化。
有没有替代方法?如果它更好,我也可以采用它。