NHibernate - Cambio de subtipos

¿Cómo se hace para cambiar el subtipo de una fila en NHibernate? Por ejemplo, si tengo una entidad de Cliente y una subclase de TierOneCustomer, tengo un caso en el que necesito cambiar un Cliente a TierOneCustomer pero el TierOneCustomer debe tener el mismo Id (PK) que la entidad de Cliente original.

El mapeo se ve así:

<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>

Estoy usando el modelo de jerarquía de una tabla por clase, por lo que usando plain-sql, sería solo una cuestión de una actualización sql del discriminador (CustomerType) y establecer las columnas apropiadas relevantes para el tipo. No puedo encontrar la solución en NHibernate, por lo que agradecería cualquier puntero.

También estoy pensando si el modelo es correcto teniendo en cuenta este caso de uso, pero antes de seguir esa ruta, quiero asegurarme de que hacer lo que se describió anteriormente es realmente posible en primer lugar. Si no, seguramente pensaré en cambiar el modelo.

Respuestas a la pregunta(4)

Su respuesta a la pregunta