Tengo una clase, Orden, que insisto en una base de datos utilizando NHibernate. Hay una carpeta más abajo en la aplicación web que contiene un objeto que hereda de Order, para nuestros propósitos, podemos llamarlo CustomOrder. Uso CustomOrder para colocar algunas propiedades en el objeto Order para propósitos de UI. Las propiedades en realidad no tienen que guardarse en la base de datos.NHibernate Clase heredada pero no es necesario que persista
Cuando paso la clase CustomOrder a mi método genérico salvar lo que sólo se necesita en un objeto Order, NHibernate se queja:
Desconocido clase de entidad: CustomOrder.
No es necesario que conserve los campos personalizados en la base de datos, pero me gustaría mantener esta estructura de herencia. ¿Estoy pensando en términos equivocados o haciendo algo que no debería estar haciendo?
Guardar código
public object Save(Order obj, object userID) {
Order o = (Order)obj;
ISession session = NHibernateHelper.GetCurrentSession();
ITransaction tx = session.BeginTransaction();
session.Save(o);
Después de que el caso en la primera línea del método, .NET todavía lo identifica como CustomerOrder.
+1 esto es exactamente lo que iba a sugerir (y la única manera de lograr esto). –