Свободный NHibernate: Как вы изменяете базовый тип sql для автоматизированного набора строк? - PullRequest
0 голосов
/ 11 ноября 2010

У меня есть класс:

public class ParentClass
{
     //other stuff
     IList<string> ChildPages
}

Когда 'IList<string> ChildPages' получает Автоматически по Свободно NHibernate создается таблица соединения ChildPagesnvarchar(255) полем поддержки для каждой строки в коллекции.

Но проблема в том, что я хочу, чтобы поле поддержки SQL было 'text', чтобы у меня были длинные записи для этой сущности.

Какой самый простой способ сделать это изменение?

Как изменить базовый тип автоматизированных примитивных коллекций?

Кроме того, как получить дополнительные баллы, как бы вы это сделали?с условным обозначением или переопределением сопоставления?

Thx!

1 Ответ

1 голос
/ 11 ноября 2010

Можно установить соглашение о переопределении, чтобы в строках использовалось text вместо nvarchar2 (255), как показано в решении в этом другом потоке . Если вы хотите, чтобы такое поведение было только для определенного свойства, что-то подобное в вашей беглой конфигурации будет работать:

AutoMap
    .AssemblyOf<ParentClass>()
    .Override<ChildPage>(map =>
        {
            mapping.Map(x => x.Page).CustomType("StringClob").CustomSqlType("text");
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...