0

我有一個類:Fluent NHibernate:你如何改變自動映射字符串集合的底層sql類型?

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

當「IList<string> ChildPages」得到通過功能NHibernate一個「ChildPages」連接表與集合中的每個字符串nvarchar(255)支持字段創建automapped

但問題是,我想sql後臺字段爲'text',這樣我可以有這個實體冗長的條目。

進行此更改最簡單的方法是什麼?

如何更改automapped原始集合的基礎類型?

此外,對於額外的點,你將如何使用約定或映射覆蓋來做到這一點?

Thx!

回答

1

你可以設置一個覆蓋約定,以便字符串使用text而不是nvarchar2 (255),如圖所示的解決方案on this other thread。如果只想對特定財產這樣的行爲,這樣的事情在你的流利的配置將工作:

AutoMap 
    .AssemblyOf<ParentClass>() 
    .Override<ChildPage>(map => 
     { 
      mapping.Map(x => x.Page).CustomType("StringClob").CustomSqlType("text"); 
     }); 
+0

感謝您的答覆,但我不認爲這會工作,因爲「ChildPages」是屬性的名稱,而比一個類型。 – 2010-11-11 04:56:48

相關問題