2
我有這樣的代碼,它使用實體框架4.1來訪問數據庫實體:如何在不更改該對象的所有實例的情況下更新實體框架對象?
public string Test()
{
Navigation nav = db.Navigations.FirstOrDefault();
List<Navigation> lNav = db.Navigations.ToList();
foreach (var item in lNav)
{
item.Label += " [Edited]";
}
return nav.Label;
}
當我在asp.net mvc的運行這個它返回:
News [Edited]
我希望它返回:
News
因爲我以爲我的foreach
只會修改lNav
的內容。相反,它似乎修改了實體對象的所有實例。
如何在不修改nav
的情況下修改lNav
?
我可以只在'lNav'列表上使用'AsNoTracking()'嗎?因爲我將來需要更新'nav'。我還沒有寫下那部分。我要去嘗試一下。 – quakkels
啊是的!添加了'AsNoTracking()'到'lNAv',它效果很好! – quakkels