Ответ зависит от того, как вы смоделировали свои сущности. Если вы используете общее независимое отношение или отношение внешнего ключа, вам придется использовать свой текущий подход - я использую его и в моем проекте.
Если вы определили идентифицирующую связь, вы сможете вызывать только Clear
для коллекции, как описано @Craig. Идентификационная связь - это особая связь, в которой первичный ключ зависимого объекта содержит внешний ключ родительского объекта.
В примере показаны Order
сущность и OrderItem
сущность с внешним ключом, идентифицирующая связь между ними. Первичный ключ OrderItem
состоит из уникальных Id
и OrderId
, представляющих собой FK таблицы Order
. С этой конфигурацией вам не нужно перебирать OrderItem
s и удалять каждый элемент отдельно. Простое удаление OrderItem
из коллекции будет выполнено как удаление в базе данных, а очистка коллекции удалит все связанные OrderItem
s в базе данных.