public void Test04()
 {
     using (var session = Domain.OpenSession())
         using (var transaction = session.OpenTransaction()) {
             var storeForRemove  = session.Query.All <model.Store>().Single(el => el.Name == "RemovedStore");
             var storeForUpgrade = session.Query.All <model.Store>().Single(el => el.Name == "Store");
             var author          = new model.Author()
             {
                 LastName = "LastName", FirstName = "FirstName"
             };
             var book = new model.Book()
             {
                 Title = "The book withot title"
             };
             book.Stores.Add(storeForUpgrade);
             book.Authors.Add(author);
             storeForUpgrade.Name = "UpgradedStore";
             storeForRemove.Remove();
             var allStores = session.Query.All <model.Store>().ToList();
         }
 }
 protected override void PopulateData()
 {
     using (var session = Domain.OpenSession())
         using (var transaction = session.OpenTransaction()) {
             var author = new model.Author {
                 FirstName = "William",
                 LastName  = "Shakespeare"
             };
             var store = new model.Store {
                 Name = "Store"
             };
             new model.Store {
                 Name = "RemovedStore"
             };
             var book = new model.Book {
                 Title = "Romeo and Juliet"
             };
             book.Authors.Add(author);
             book.Stores.Add(store);
             transaction.Complete();
         }
 }