【发布时间】:2011-02-10 05:40:30
【问题描述】:
我有一个包含枚举集合的类,如下所示。
public enum TransactionType
{
...
}
public class PaymentMethod
{
...
public virtual IList<TransactionType> SupportedTransactionTypes { get; set; }
}
对 TransactionType 枚举的其他引用工作正常,但使用此集合时出现异常:“NHibernate.MappingException : Association references unmapped class: 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:line 40 在 FluentNHibernate.Conventions.ProxyConvention.Apply(ICollectionInstance 实例) 在 e:\horn.horn\orm\fluentnhibernate\Working\src\FluentNHibernate\Conventions\ProxyConvention.cs:line 79 在 FluentNHibernate.Visitors.ConventionVisitor.Apply[TInspector,TInstance](IEnumerable 约定,TInstance 实例) 在 e:\horn.horn\orm\fluentnhibernate\Working\src\FluentNHibernate\Visitors\ConventionVisitor.cs:line 269 在...
我在映射上尝试了很多不同的变体,包括 TableName、KeyColumn 和我能想到的任何其他东西,但我无法让这个映射工作。
任何帮助表示赞赏...
【问题讨论】:
标签: nhibernate fluent-nhibernate