Просто хочу отметить, у меня есть это решение.но я предпочитаю иметь лучше.В противном случае это ответ.Я удалю документы вручную, сохраню изменения в БД.а затем удалите запись таблицы OtherprotectionItem
Data.Util.DocumentFinder.FindRecursive(item)
.ToList()
.ForEach(d => db.Entry(d).State = System.Data.Entity.EntityState.Deleted);
db.SaveChanges();
db.OtherProtectionItems.Remove(item);
db.SaveChanges();
Примечание: этот FindRecursive - это функция, которую я создаю, она выполняет итерацию всех документов и находит все документы, связанные с этой записью OtherprotectionItem