Свободный список NHibernate <string>Длина - PullRequest
1 голос
/ 09 сентября 2010

У меня есть список, который я пытаюсь получить в БД, и я получаю следующее утверждение:

{"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 => x.StateLog).Length(2000);?

Заранее спасибо

EDIT

Используя следующее соглашение, я могу изменить все строки, чтобы иметь большую длину. Однако это не влияет на типы IList<string>.

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

Любой, кто знаетпримера, который может помочь идти по маршруту Конвенции?

1 Ответ

0 голосов
/ 10 апреля 2011

Возможно, вы захотите попробовать что-то вроде этого:

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

Решение здесь может быть скорректировано в соответствии с вашей ситуацией.

...