OK,我可以在EF6刪除單個項目這樣的分離:如何刪除EF6對象的列表時,對象從上下文
public void DeleteUserGroup(MY_GROUPS ug)
{
using (var context = new MYConn())
{
var entry = context.Entry(ug);
if (entry.State == EntityState.Detached)
{
context.MY_GROUPS.Attach(ug);
}
context.MY_GROUPS.Remove(ug);
context.SaveChanges();
}
}
如果此方法從傳遞的MY_GROUPS
單個實例改變到List<MY_GROUPS>
我將如何處理刪除?
會有一個更有效率的方法,然後只是做一個foreach
並設置一次一個狀態?
UPDATE: 我已經在使用類似的方法,如上所述使用RemoveRange
方法。 但是我得到一個錯誤:
The object cannot be deleted because it was not found in the ObjectStateManager.
我找對象的列表重視的背景下,這樣我可以刪除它們的最好方法。
難道你沒有.RemoveRange你的上下文?如果我沒有記錯的話,你可以給RemoveRange一個你想要刪除的項目集合。 –
我這樣做,我正在使用它。但是,我得到錯誤「對象無法刪除,因爲它沒有在ObjectStateManager中找到。」 – PrivateJoker