はnvarcharなどの文字列とストアを使用して列挙型のマップ集:NHibernateは:私は、列挙型を持っている
public enum CommunicationType
{
[Description("Callback to client")]
Callback
}
どのクラスPartner
でIList<CommunicationType>
のプロパティとして1つの使用:
マイPartnerMap
クラス次のようになります。
public class PartnerMap : ClassMap<Partner>
{
public PartnerMap()
{
Schema("tm");
Table("Partner");
Id(x => x.Id);
HasMany(x => x.CommunicationTypes)
.Schema("tm")
.Table("PartnerCommunicationType")
.KeyColumn("PartnerId")
.Element("CommunicationType");
}
}
1対多関係Partner
とCommunicationType
の間、私はテーブルに格納[tm].[PartnerCommunicationType]
:
PartnerId bigint
CommunicationType nvarchar(256)
:nvarchar型の値として列挙型を格納し、テーブル[tm].[PartnerCommunicationTypes
の列CommunicationType
からIList<CommunicationType>
にテーブルから、それをマップします。
私の問題点:文字列の形式が正しくありません。
私はMap(x=>x.CommunicationType)
を使用して、単一のプロパティとしてCommunicationType
をマップしようとしましたが、これは素晴らしい作品が、私は、コレクションでそれを行うことはできません。
enumのコレクションをマップしてnvarcharからマップできる方法はありますか?
この回答は役に立ちましたか?http://stackoverflow.com/a/22732415/2524304
私はFluentNHibernateを使用してどのようにタイプを設定できるのか理解できません。