2013-10-31 6 views
-1

우리는 NHibernateEnvers을 사용하고 있습니다. 모든 것은 정상적으로 작동하지만 envers는 고아를 삭제하기위한 감사를 삽입하지 않습니다.엔버, 고아 삭제에 대한 이력 테이블에 삭제를 삽입하지 않음

Inverse().Cascade.AllDeleteOrphan() 

nhibernate에 대한 좋은 envers 설명서는 어디에서 찾을 수 있습니까? 전혀 가능하지 않으므로 evers이 (가) 고아를 삭제하기 위해 기록 테이블에 항목을 삭제하고 있습니까?

... 
entity.SomeCollection.Clear(); //Orphans will be deleted because cascade is AllDeleteOrphan. 
tx.commit(); 

감사합니다.

+0

. 당신이 시도한 것을 알려주십시오. –

답변

0

네, 답을 직접 찾았습니다. Envers은 고아 인서트하는 일은 삭제합니다

ISession session = sessionFactory.OpenSession(); 
ITransaction tx = session.BeginTransaction(); 

MyItem item = session.Get<MyItem>(44); //Item enthält ein Tag. 

item.Tags.Clear(); 

tx.Commit(); 

session.Close(); 

만 관계의 종료가 선언되지 않은 경우 역.

HasManyToMany(x => x.Items) 
     .Table("MyItem_MyTag") 
     .ParentKeyColumn("MyTagID") 
     .ChildKeyColumn("MyItemID") 
     .Cascade.All() 
     .Inverse().LazyLoad(); 

당신은 항목의 비를 원하는 경우에 적은 후 추가

nhibernate.envers.revision_on_collection_change 당신은 아마 구글 시작해야

http://envers.bitbucket.org/