0

私はクラスを持っています:

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

' IList<string> ChildPages'がFluentNHibernateによって自動マップされると、コレクション内の各文字列のバッキングフィールドを使用して' ChildPages'結合テーブルが作成されます。nvarchar(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 に答える