2010-09-09 73 views
1

我有一個名單,我試圖進入數據庫和我想出以下斷言:功能NHibernate列表<string>長度

{"ORA-12899: value too large for column \"GDATA\".\"CNVTOOLBOX\".\"TOOL\" (actual: 387, maximum: 255)\n"} 

我重寫具有以下的自動映射:

public class CnvRootMap : IAutoMappingOverride<CnvRoot> 
{ 
    public void Override(AutoMapping<CnvRoot> mapping) 
    { 
     mapping.Id(x => x.Id, "CnvRootID"); 

     mapping.HasMany(x => x.Toolbox) 
      .AsBag() 
      .Table("CnvToolbox") 
      .Element("Tool", m => m.Type<string>()); 
    } 
} 

我敢肯定,我缺少一些簡單的東西,但是有沒有一種方法可以像指定列一樣指定.Length,例如mapping.Map(x => x.StateLog).Length(2000);

在此先感謝

編輯

使用下面的公約,我能夠改變所有字符串有一個更大的。長度,但是這似乎並沒有影響到各類IList<string>

public class DefaultStringLengthConvention : IPropertyConvention 
{ 
    public void Apply(IPropertyInstance instance) 
    { 
     instance.Length(2000); 
    } 
} 

任何人都知道可能有助於走會展路線的例子嗎?

回答