Entity Framework 5 обновление таблицы для каждого типа, изменение подтипа, но сохранение того же базового типа

У меня простая иерархия

public abstract class CommunicationSupport
{
    public SupportTypeEnum Type { get; set; }
    public Country Origin { get; set; } // National or Foreign support
}

public class TelecomSupport : CommunicationSupport
{
    public string Number { get; set; }
}

public class PostalSupport : CommunicationSupport
{
    public Address Address { get; set; }
}

Я планирую использовать иерархию таблиц по типам для моей БД. Таким образом, будут созданы 3 таблицы, одна базовая и две дочерние, использующие тот же PK, что и базовая.

Моя проблема в том, что я хочу иметь возможность обновить CommunicationSupport, изменив его тип. Допустим, я создаю TelecomSupport, сохраняю его, затем изменяю его тип на PostalSupport и сохраняю его снова (обновление). В результате я ожидаю, что EF сохранит ту же базовую запись (CommunicationSupport Id), но удалит запись в таблице TelecomSupport и создаст новую в PostalSupport. Таким образом, TelecomSupport и PostalSupport являются эксклюзивными и не могут использовать одну и ту же базовую CommunicationSupport.

Как я могу сделать это, используя EntityFramework 5?

Спасибо за вашу помощь!

Ответы на вопрос(1)

Ваш ответ на вопрос