ドメイン モデル クラスは次のとおりです。
public abstract class BaseClass
{
...
}
public class ChildClass : BaseClass
{
...
}
親クラスは抽象的であり、流暢な nhibernate でマップするときが来ると、これがいくつかの問題を引き起こすことに注意してください。私の識別子はバイトです(DBのtinyint)。これは文字列ではなく、基本クラスに識別子の値を設定できないため、これは機能しません (BaseClass のマッピング クラスから取得)。
DiscriminateSubClassesOnColumn<byte>("Type")
.SubClass<ChildClass>()
.IsIdentifiedBy((byte)OperationType.Plan)
.MapSubClassColumns(p => { ... })
私が得るエラーメッセージは次のとおりです。
クラスの初期化メソッド UnitTest1.MyClassInitialize が例外をスローしました。NHibernate.MappingException: NHibernate.MappingException: 識別子の値をエンティティ BaseClass の SQL 文字列にフォーマットできませんでした ---> System.FormatException: 入力文字列が正しい形式ではありませんでした..
次の投稿は、何が起こるかを説明しているようです。彼らはxmlで解決策を提供しますが、流暢なnhibernateでは解決しません: http://forum.hibernate.org/viewtopic.php?t=974225
助けてくれてありがとう。