NHibernate - Alterando subtipos

Como você altera o subtipo de uma linha no NHibernate? Por exemplo, se eu tenho uma entidade Cliente e uma subclasse de TierOneCustomer, tenho um caso em que preciso alterar um Cliente para um TierOneCustomer, mas o TierOneCustomer deve ter o mesmo Id (PK) da entidade original do Cliente.

O mapeamento é mais ou menos assim:

<class name="Customer" table="SiteCustomer" discriminator-value="C">
  <id name="Id" column="Id" type="Int64">
    <generator class="identity" />
  </id>
  <discriminator column="CustomerType" />
  ... properties snipped ...

  <subclass name="TierOneCustomer" discriminator-value="P">
    ... more properties ...
  </subclass>
</class>

Estou usando o modelo de hierarquia de uma tabela por classe, portanto, usando o sql simples, seria apenas uma atualização de sql do discriminador (CustomerType) e defina as colunas apropriadas relevantes para o tipo. Não consigo encontrar a solução no NHibernate, por isso gostaria de receber qualquer indicação.

Também estou pensando se o modelo está correto considerando esse caso de uso, mas antes de seguir esse caminho, quero ter certeza de que, como descrito acima, seja realmente possível em primeiro lugar. Caso contrário, certamente pensarei em mudar o modelo.

questionAnswers(4)

yourAnswerToTheQuestion