映射大型字符串功能NHibernate [英] Mapping large string with Fluent NHibernate
本文介绍了映射大型字符串功能NHibernate的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正与一个Oracle数据库,而我试图映射这个类:
公共类图书
{
公共虚拟INT标识{获取;私定; }
公共虚拟字符串作者{获得;组; }
公共虚拟字符串名称{获取;组; }
公共虚拟字符串文本{获得;组; }
}
通过这种映射类:
公共类BookMap:ClassMap<图书>
{
公共BookMap()
{
ID(X => x.Id);
地图(X => x.Author);
地图(X => x.Title);
地图(X => x.Text);
}
}
但它生成我列类型为NVARCHAR(255),而 Book.Text
属性已远远超过255个字符。
我怎样才能将其映射到一个可以包含一个非常大的字符串(例如CLOB)类型?
解决方案
公共类BookMap:ClassMap<图书>
{
公共BookMap()
{
ID(X => x.Id);
地图(X => x.Author);
地图(X => x.Title);
地图(X => x.Text).CustomSqlType(CLOB);
}
}
或
公共类BookMap:ClassMap<图书>
{
公共BookMap()
{
ID(X => x.Id);
地图(X => x.Author);
地图(X => x.Title);
地图(X => x.Text).Length(500); //为nvarchar(500)
}
}
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)?
解决方案
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)
}
}
这篇关于映射大型字符串功能NHibernate的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文