2009-08-19 3 views
2

NHibernate의 최신 버전 (작성 당시 : 2.1.2.4000)을 사용하여 PreInsertEvent 수신기를 구현하려고합니다. 이 청취자와 함께하고 싶은 일 중 하나는 엔티티가 매핑 될 데이터베이스 테이블을 찾는 것입니다. (단 하나의 테이블이라고 가정).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]); 
    } 
} 

:

//이 엔티티의 속성은이 클래스의 인스턴스, 지속되는 공간을 식별하는 오브젝트의 배열을 돌려줍니다 // .
// 대부분의 구현에서 매핑 된 엔티티의 인스턴스가 유지되는 테이블 이름
//의 전체 집합을 반환합니다 (수퍼 클래스 엔티티 매핑의 경우
//).