我正在使用Entitiy框架並遇到了一個奇怪的問題。 我正試圖將一個集合保存到數據庫(比如:Collection of Rounds)。 現在,這個集合中的每個項目都有一組子元素(比如:事件集合)。以特定順序保存實體
這將是這個樣子:
Round 1
(No Child Elements)
Round 2
Event 1
Event 2
Event 3
Round 3
(No Child Elements)
Round 4
Event 1
Event 2
正如上面顯示是沒有必要的父對象將永遠有一個子集合。
現在,這裏是問題: 我的要求是,我想保存數據,因爲我已經將它添加到集合中。 但是,保存EF會首先保存具有子集合的項目,因此保存後會修改訂單。 因此,在數據庫中,第2輪首先被保存,然後其他的被隨機保存。
有什麼辦法強制EF保存按我構建的順序收集Rounds? 應該一直留有從第一輪開始,並應保存回合4
謝謝你們結束:)
AFAIK EF不會保證收集元素的插入順序。如果您確實需要保證訂單,則可能需要每輪執行一次保存。我可能是錯的,但這是我懷疑的。 –