再利用可能なユーザー管理機能を提供する汎用ユーザー リポジトリ基本クラスを作成しました。
public class UserRepository<TUser> where TUser : new, IUser
{
}
UserImpl と呼ばれる IUser の具体的な実装と、対応するマッピングclass UserImplMap : ClassMap<UserImpl>
があります (それらはすべて同じ名前空間とアセンブリにあります)。AddFromAssemblyOf を使用してマッピングを追加します。また、これを使用してスキーマを作成/生成します。
これまでのところ非常に良好で、物事は期待どおりに機能します。
さて、別のプロジェクトで、IUser 実装クラスにいくつか追加のプロパティが必要だったので、新しい を実装しましたclass UserImplEx : UserImpl
。このクラスには、必要な追加のプロパティがあります。また、新しいマッピングを作成しましたclass UserImplExMap : SubclassMap<UserImplEx>
このアプローチを使用してスキーマを作成すると、UserImpl 用と UserImplEx 用の 2 つのテーブルが得られます。
UserImplEx のすべてのプロパティ (自己と継承) が 2 つのテーブルに分割されるのではなく、単一のテーブル UserImplEx にマップされるように、何らかの方法で Fluent マッピングを構成/コーディングすることは可能ですか?
または、 で完全なマッピングを提供するとUserImplExMap : ClassMap<UserImplEx>
、必要に応じてスキーマを取得できますが、UserImpl の追加テーブルも取得します (対応するマッピングが UserRepository アセンブリに存在するため)。このアプローチに従う場合、AddFromAssemblyOf に特定のマッピング クラスを除外するように指示する方法はありますか?