【问题标题】:Fluent NHibernate List<string> LengthFluent NHibernate List<string> 长度
【发布时间】:2011-04-10 08:15:04
【问题描述】:

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

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

我确定我遗漏了一些简单的东西,但是有没有办法像 mapping.Map(x =&gt; x.StateLog).Length(2000); 那样为列指定 .Length ?

提前致谢

编辑

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

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

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

【问题讨论】:

    标签: nhibernate mapping fluent ora-12899


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-09
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 2018-11-28
      • 2011-01-29
      • 2011-04-10
      相关资源
      最近更新 更多