我正在使用WebAPI2(C#)並希望在控制器中使用以下代碼(現在忽略使用某些「ViewModel」等效分隔的最佳實踐......)實體框架 - 確保沒有更新
Playlist p = await _db.Playlists.FindAsync(id);
p.Videos.ForEach(x => x.playlists = null);
return Ok(p);
Playlist
的和Video
類,使用EF,具有經由導航性能的多到多的關係。
我可以100%確定,一旦我將播放列表設置爲空(第2行),數據庫將不會被更新? (即不會廢掉每個Video.playlists
屬性)
很顯然,我不是要求的SaveChanges ...但還是EF跟蹤我相信,對象...
如果延遲加載被禁用,是否意味着視頻(播放列表的導航屬性)將不可訪問?感謝您的額外答覆。 – ASX
如果沒有播放列表,他們的'Videos'屬性如何訪問?無論如何,它不會改變對象結構中的任何內容,唯一的問題是播放列表不會被加載,所以您只需要更少的步驟即可實現所需內容。首先加載列表然後清除它們毫無意義。 –
不知道你的意思是別的什麼......但播放列表存在,我只是不能按原樣返回對象(使用視頻,然後引用播放列表),因爲它會在序列化爲JSON時導致遞歸循環。因此希望將Video.playlists設置爲null。 – ASX