Отображение большой строки с беглым NHibernate


Я работаю с базой данных Oracle и пытаюсь сопоставить этот класс:

public class Book
{
    public virtual int Id { get; private set; }
    public virtual string Author { get; set; }
    public virtual string Title { get; set; }
    public virtual string Text { get; set; }
}

С этим классом отображения:

public class BookMap : ClassMap<Book>
{
    public BookMap()
    {
        Id(x => x.Id);
        Map(x => x.Author);
        Map(x => x.Title);
        Map(x => x.Text);
    }
}
Но тип столбца, который он генерирует, - NVARCHAR (255), а свойство Book.Text содержит гораздо больше 255 символов.

Как я могу сопоставить его с типом, который может содержать очень большую строку (например, CLOB)?

1 6

1 ответ:

public class BookMap : ClassMap<Book>
{
    public BookMap()
    {
        Id(x => x.Id);
        Map(x => x.Author);
        Map(x => x.Title);
        Map(x => x.Text).CustomSqlType("CLOB");
    }
}

Или

public class BookMap : ClassMap<Book>
{
    public BookMap()
    {
        Id(x => x.Id);
        Map(x => x.Author);
        Map(x => x.Title);
        Map(x => x.Text).Length(500);  // nvarchar(500)
    }
}