У меня есть класс Order, который я сохраняю в базе данных, используя NHibernate. В веб-приложении есть папка, которая содержит объект, который наследуется от Order, для наших целей мы можем назвать его CustomOrder. Я использую CustomOrder, чтобы поместить несколько свойств в объект Order для целей пользовательского интерфейса. Свойства на самом деле не должны быть сохранены в базе данных.
Когда я передаю класс CustomOrder моему общему методу сохранения, который просто принимает объект Order, NHibernate жалуется:
Неизвестный класс сущности: CustomOrder.
Мне не нужно сохранять пользовательские поля в базе данных, но я хотел бы сохранить эту структуру наследования. Думаю ли я в неправильных терминах или делаю что-то, чего не должен делать?
Сохранить код
public object Save(Order obj, object userID) {
Order o = (Order)obj;
ISession session = NHibernateHelper.GetCurrentSession();
ITransaction tx = session.BeginTransaction();
session.Save(o);
После регистра в первой строке метода .NET по-прежнему идентифицирует его как CustomerOrder.