1

我有一个列表,我试图进入数据库并提出以下断言:

{"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);

提前致谢

编辑

使用以下约定,我可以将所有字符串更改为更大的 .Length,但这似乎不会影响 .Length 的类型IList<string>

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

有人知道一个可能有助于走公约路线的例子吗?

4

1 回答 1

0

您可能想尝试这样的事情:

http://codecasserole.wordpress.com/2011/04/10/fluentstringlengths/

这里的解决方案可能会根据您的情况进行调整。

于 2011-04-10T02:14:57.860 回答