相关疑难解决方法(0)

用于映射IDictionary <SomeEntity,int>的流畅代码?

我试图弄清楚如何在流畅的1.0 RTM中映射IDictionary属性.

根据我的理解,这转化为三元关联.

例:

class Bar
{
    public IDictionary<SomeEntity, int> Foo {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

然后,Bar.hbm.xml将包含:

<map name="Foo" table="BarFooTable">
    <key column="..."/>
    <index-many-to-many class="SomeEntity" column="SomeEntity_Id"/>
    <element column="Value" type="int"/>
</map>
Run Code Online (Sandbox Code Playgroud)

我必须用流利的nhibernate来编写这个映射xml?

这里感兴趣的是密钥是实体类型,而值是值类型.(编辑:至少,这似乎区别于堆栈溢出或谷歌组中的各种其他示例和问题,它们是值 - 值或键 - 键)

经过多次实验,我可以为IDictionary<SomeEntity,SomeEntity>(纯实体类型)生成映射:

HasManyToMany(x => x.Foo)
        .AsMap("Key")
        .AsTernaryAssociation("Key2", "Value")
        ; 
Run Code Online (Sandbox Code Playgroud)

我还可以为IDictionary<int,int>(纯值类型)生成映射:

HasMany(x => x.Foo)
    .AsMap<int>("Key")
    .Element("Value")
    ;
Run Code Online (Sandbox Code Playgroud)

我甚至可以通过某种方式为a生成映射IDictionary<int, SomeValue),尽管NHibernate都不会接受.

但我无法弄清楚如何为IDictionary<SomeValue, int>我想要的产生映射.有人可以提供一些提示吗?

.net fluent-nhibernate

5
推荐指数
1
解决办法
1542
查看次数

字典的FluentNHibernate映射

使用Fluent NHibernate映射简单Dictionary属性的最佳方法是什么?

nhibernate fluent

3
推荐指数
2
解决办法
4818
查看次数

标签 统计

.net ×1

fluent ×1

fluent-nhibernate ×1

nhibernate ×1