2009-08-19 6 views
2

NHibernateの最新バージョン(2.1.2.4000の時点)を使用してPreInsertEventリスナーを実装しようとしています。このリスナーでやりたいことの1つは、エンティティがマップされるデータベーステーブルを見つけることです。 (それが1つのテーブルであると仮定して)。NHibernate IPreInsertEventListenerを使用し、マップされたテーブルを検索しようとしています

誰でもIEntityPersisterのどこでこれを見つけることができるかも知っていますか?

答えて

2

この回答はPreInsertEventにあります。 Persister.PropertySpacesコードベースから

public bool OnPreInsert(PreInsertEvent evt) { 
    for (var i = 0; i < evt.Persister.PropertySpaces.Length; i++) 
    { 
    Console.Out.WriteLine("\tevt.Persister.PropertySpaces = {0}", evt.Persister.PropertySpaces[i]); 
    } 
} 



//このエンティティのプロパティのみ、このクラスのインスタンスに対して、持続された空間を識別するオブジェクトの配列を返し// 。
//大部分の実装では、マッピングされたエンティティのインスタンスが永続化されるテーブル名の完全なセット
//(スーパークラスエンティティマッピングの場合は
//)を返します。

関連する問題