gpt4 book ai didi

c# - Entity Framework 跟踪变化

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:31 25 4
gpt4 key购买 nike

我是 MVC 和 Entity Framework 的新手,正在尝试跟踪更改。这是我的代码片段:

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。我也想知道我添加的新的和删除但没有再次添加的那些。所以基本上需要跟踪变化。

还有其他方法吗?如果它更好我也可以采用它。

最佳答案

  1. 更改 oldPosition 以枚举 LookUp,如下所示
    var oldPositions = fromDB.LookUps.ToList();

  2. 从 DB.LookUps.Clear() 中删除它应该可以工作。

关于c# - Entity Framework 跟踪变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com