2013-10-31 176 views
-1

我们使用NHibernate的Envers。一切正常,但envers不插入审计删除孤儿。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/