If you are using sql 2005 you can use TransactionScope to have your tests rolled back automatically:
Code:
IOrgRepository orgRepository = IocContainer.Resolve<IOrgRepository>();
using(TransactionScope scope = new TransactionScope()){
//create a new org
Organization newOrg = new Organization(Functions.RandomString(10));
//add the org into the Repository
orgRepository.Add(newOrg);
//clear the session so that we can retrieve the item from the data repository
((NHibernateOrgRepository)orgRepository).SessionContext.CurrentSession.Clear();
//retrieve the org from the data store
Organization reconstitutedOrg = orgRepository.GetById(newOrg.Id);
//verify that retieved org is equal to the new org
Assert.AreEqual(newOrg.Id, reconstitutedOrg.Id);
}
You'll have to change the connection release mode to not use the aggresive release style to avoid the transaction rolling up to msdtc.