9

I'm working with an Oracle DB, and I'm trying to map this class:

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; }
}

With this mapping class:

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

But the column type that it generates me is NVARCHAR(255), And the Book.Text Property has much more than 255 characters.

How can I map it to a type that can contain a very large string (for example CLOB)?

1

1 Answer 1

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

or

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)
    }
}
Sign up to request clarification or add additional context in comments.

3 Comments

Do you mean CustomType("StringClob") ?
@ChrisS. StringClob is for SQL Server, the question was about Oracle
After being mislead by this thread. I got what I needed here. Thanks @TimHoolihan

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.