У меня есть объект Entry, подключенный к нескольким окнам TimeWindows. Я хочу очистить все временные окна, а затем добавить новые. Сначала я попробовал:
target.TimeWindows.Clear();
но это на самом деле не удаляло их, и только попыталось удалить связь, что вызвало исключение, поскольку существует внешний ключ от TimeWindows для Entry. Тогда я подумал, что должен сделать это:
foreach (var tw in target.TimeWindows)
context.DeleteObject(tw);
но это также вызывает исключение, поскольку коллекция была изменена внутри оператора foreach
. Вот я и подумал:
while (target.TimeWindows.Count > 0)
context.DeleteObject(target.TimeWindows.Last());
Но теперь меня немного беспокоит использование свойства Count
, потому что это может привести к выполнению оператора SQL SELECT COUNT
. Является ли? Если да, как я могу удалить все временные окна в Entity Framework?