我有一個方法,其中的對象列表。
之前持久化對象我不得不刪除其中的一些在某個給定的條件下過濾或從列表中刪除(Of T)
的如(不理想!):
一個公司可以有一個ID和分支的列表和請將isDeleted旗。
支鏈可以有一個ID和經理的列表和標誌請將isDeleted
經理可以有一個ID和一個標誌請將isDeleted
公司 - >分支機構 - >管理
請告訴我容易或過濾的最佳途徑ommit ID的組合= 0請將isDeleted和=真讓我可以遍歷該做細節 - 見下文
- 那功能,如果該公司被標記爲
Id = 0 and IsDeleted
那麼我想ommit那完全是 - 但如果只分公司被標記爲
Id=0 and Isdeleted
那麼公司應該是有沒有一個分公司 - 如果只管理器matrked爲
Id=0 and Isdeleted
則本公司及分公司應該有
Private Function(comp as List(Of Company)) as Boolean
'filter comp here and pass it to for loop??
Dim filteredList as ...
For each c as Company in filteredList
'do company specifis here
For each b as Branch in c.Branches
'do branch specific here
For Each m as Manager in b.Managers
'do manager specific here
Next
Next
Save(c) ' saves child objects as well
Next
End Function
謝謝,我可以看到你正在過濾公司,我明白了。但filtererdComp仍然可以在分支中包含不需要的條目,所以我猜'c.Branches = c.Branches .Where(Function(b)b.Id <> 0或不b.IsDeleted).ToList()'重置分支到哪裏條件? – melspring
首先我創建一個過濾的公司列表。然後,我將每個過濾的公司中的分支機構列表替換爲分支機構的過濾列表,最後,我將每個過濾分支機構中的每個經理列表替換爲過濾管理器的列表。結果是包含過濾管理器的過濾分支的過濾管理器列表。 –
您是不是正在更改原始公司和分支對象?我不確定這是需要的。 – MarkJ