У меня есть класс, содержащий следующую коллекцию перечислений.
public enum TransactionType
{
...
}
public class PaymentMethod
{
...
public virtual IList<TransactionType> SupportedTransactionTypes { get; set; }
}
Другие ссылки на перечисление TransactionType работают правильно, но с этой коллекцией я получаю исключение: «NHibernate.MappingException: ассоциация ссылается на не сопоставленный класс: mynamespace.TransactionType».
Оглядываясь вокруг, кажется, что мне нужно было указать тип отображения элемента, то есть один-ко-многим, элемент или составной-элемент.
Я установил следующие сопоставления переопределения для класса PaymentMethod:
mapping.HasMany(x => x.TransactionTypes)
.Element("TransactionTypeId"), x => x.Type<TransactionType>());
Но это вызывает следующее исключение ...
Проверка не удалась: System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта.
в FluentNHibernate.Conventions.Inspections.OneToManyInspector.get_Class () в e: \ horn.horn \ orm \ fluentnhibernate \ Working \ src \ FluentNHibernate \ Conventions \ Inspections \ OneToManyInspector.cs: строка 40
в FluentNHibernate.Conventions.ProxyConvention.Apply (экземпляр ICollectionInstance) в e: \ horn.horn \ orm \ fluentnhibernate \ Working \ src \ FluentNHibernate \ Conventions \ ProxyConvention.cs: строка 79
в FluentNHibernate.Visitors.ConventionVisitor.Apply [TInspector, TInstance] (IEnumerable обозначений, экземпляр TInstance) в e: \ horn.horn \ orm \ fluentnhibernate \ Working \ src \ FluentNHibernate \ Посетители \ ConventionVisitor.cs: строка 269
в ...
Я пробовал множество различных вариантов сопоставления, в том числе TableName, KeyColumn и все остальное, о чем я могу думать, но я не могу заставить это сопоставление работать.
Любая помощь приветствуется ...