間違ったタイプ引き戻す:NHibernateはReferencesAny私は、次のフィールドがあるテーブルと呼ばAdministratorPrivilages持っ
- ID
- リスト項目
- MEMBERID
- 値
- のmemberType を
メンバーは2種類あります(Enterprise aエクスプレス)。エンタープライズメンバーはエンタープライズテーブルに存在します。 ExpressメンバーはExpressMemberテーブルに住んでいます。私は流暢なマッピングをそうしようとしました。
public class AdministratorPrivilegesMapping : ClassMap<AdministratorPrivileges>
{
public AdministratorPrivilegesMapping()
{
Id(x=>x.Id);
Map(x => x.Value).Column("Value");
ReferencesAny(x => x.Member)
.EntityTypeColumn("MemberType")
.EntityIdentifierColumn("MemberId")
.IdentityType<Int32>()
.AddMetaValue<ExpressMember>("Express")
.AddMetaValue<Member>("Enterprise");
}
}
両方のメンバテーブルには、値が小さい整数のIDがあります。エンタープライズ・メンバー10に関連する権限を取り戻そうとすると、Express Member 10に関連付けられた権限セットが取得されます。他の両方のテーブルは、古いスクールhbmマッピング・ファイルにマップされます。
明らかなものがありませんか?私はNHibernate 2.1とFluentNhibernate 1.1を使用しています