0

我有一堂课:

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

Fluent NHibernate自动映射IList<string> ChildPages' ' 时,会创建一个 ' ' 连接表,其中包含集合中每个字符串的支持字段。ChildPagesnvarchar(255)

但问题是我希望 sql 支持字段为“ text”,这样我就可以为该实体输入冗长的条目。

进行此更改的最简单方法是什么?

您如何更改自动映射的原始集合的底层类型?

另外,对于额外的点,您将如何使用约定或映射覆盖来做到这一点?

谢谢!

4

1 回答 1

1

您可以设置一个覆盖约定,以便使用字符串text而不是nvarchar2 (255),如其他线程上的解决方案中所示。如果您只希望特定属性的这种行为,那么在您的流利配置中这样的事情会起作用:

AutoMap
    .AssemblyOf<ParentClass>()
    .Override<ChildPage>(map =>
        {
            mapping.Map(x => x.Page).CustomType("StringClob").CustomSqlType("text");
        });
于 2010-11-11T03:26:33.677 回答