流利的nhibernate映射IDictionary <int,string>?

问题描述

| 在网上搜索后,我发现了可以完成大部分工作的映射: 在我的课堂上,我有
public virtual IDictionary<int,string> _properties { get; set; } 
并在映射中:
HasMany(x => x._properties)
     .AsMap<string>(index => index.Column(\"PropertyID\").Type<int>(),element => element.Column(\"Value\").Type<string>())
                   .KeyColumn(\"ID\")
                   .ForeignKeyConstraintName(\"FK_DeftoProperties\")
                   .Table(\"DeFinition_Property\")
                   .Not.LazyLoad()
                   .Access.property()
                .Cascade.All();
导致此表定义:
create table DeFinition_Property (
        ID UNIQUEIDENTIFIER not null,Value NVARCHAR(255) null,PropertyID INT not null,primary key (ID,PropertyID)
    )
但是我需要\“ Value \”大于255,并将映射更改为:
element => element.Column(\"Value\").Type<string>().Length(500)
对表的生成没有任何影响。 如果我使用hbm文件映射它:                                           我得到了我期望的桌子。 关于如何流畅设置长度的任何想法?     

解决方法

        
...Element(\"Value\",x => x.Length(300))...