I have DB model with table per type inheritance. For example, entities are A, B, C, A1, A2. Base - A Derived - A1, A2. Another - B, C. So, A has 1 to 1 association to A1 and
I had the same problem and a colleague told me to iterate over the collection of items before doing Remove(o) and suddenly it all worked.