(流利)NHibernate:映射IDictionary <mappedclass,myenum =“”> </mappedclass,>

时间:2010-02-04 06:19:54

标签: nhibernate fluent-nhibernate mapping one-to-many

我发现了很多关于此的帖子,但似乎没有一个直接帮助我。在FluentNHibernate开发的不同阶段,似乎还有关于工作或不工作的解决方案的混淆。

我有以下课程:

public class MappedClass
{
    ...
}

public enum MyEnum
{
    One,
    Two
}

public class Foo
{
    ...
    public virtual IDictionary<MappedClass, MyEnum> Values { get; set; }
}

我的问题是:

  1. 我需要一个单独的(第三个)MyEnum表吗?
  2. 如何映射MyEnum类型?我应该吗?
  3. Foo的映射应该是什么样的?
  4. 我已经尝试映射HasMany(x =&gt; x.Values).AsMap(“MappedClass”)... 这导致:NHibernate.MappingException:关联引用未映射的类:MyEnum

1 个答案:

答案 0 :(得分:0)

看起来这个问题与Fluent code for mapping an IDictionary<SomeEntity, int>?重复。解决方案是使用hbm.xml映射三元关联表。看起来FluentNHibernate的AsTernaryAssocation()方法只适用于实体类型。我不知道这是否已经改变,或者它是否是计划中的功能。