Я следую http://wiki.fluentnhibernate.org/Getting_started учебник, чтобы создать свой первый проект NHibernate с Fluent NHibernateMapping перечисление с Fluent NHibernate
У меня есть 2 таблицы
1) Счет с полями
Id
AccountHolderName
AccountTypeId
2) AccountType с полях
Id
AccountTypeName
Прямо сейчас accou Типы нт может быть экономией или ток Так таблица AccountTypes хранит 2 строки 1 - Экономия 2 - Текущая
Для AccoutType таблицы I определил перечисление
public enum AccountType {
Savings=1,
Current=2
}
Для таблицы счета я определить класс сущностей
public class Account {
public virtual int Id {get; private set;}
public virtual string AccountHolderName {get; set;}
public virtual string AccountType {get; set;}
}
беглого отображения NHibernate являются:
public AgencyMap() {
Id(o => o.Id);
Map(o => o.AccountHolderName);
Map(o => o.AccountType);
}
Когда я пытаюсь запустить решение, оно дает исключение - InnerException = {"(XmlDocument) (2,4): Ошибка проверки XML: элемент 'class' в пространстве имен 'urn: nhibernate-mapping-2.2' имеет неполный контент. Список ожидаемых элементов: «meta, subselect, cache, synchronize, comment, tuplizer, id, composite-id» в пространстве имен «ur ...
Я предполагаю, что это связано с тем, что я не специфицировал какое-либо сопоставление для AccountType.
Вопросов:
- Как я могу использовать ВидСчета перечисление вместо класса ВидСчета?
- Возможно, я нахожусь на неправильном пути. Есть лучший способ сделать это?
Спасибо!
Aha! Я использовал CustomSqlType, и он не работал! Мне нужен был CustomType! –
AcountType - это Enum, поэтому все объекты будут загрязнены после загрузки. См. Http://stackoverflow.com/questions/3531937/enum-to-integer-mapping-causing-updates-on-every-flush – schoetbi
+1 Спасибо m8, который отлично работает! – IamStalker