Listato3()
private static void Listato3()
{
// preparo i dati per il test
using (ISession session = NHSessionManager.GetSession())
{
session.CreateSQLQuery("delete from Orders").AddScalar("res", NHibernateUtil.Int32).UniqueResult();
session.CreateSQLQuery("delete from Customer").AddScalar("res", NHibernateUtil.Int32).UniqueResult();
Customer andreaMarzilli = new Customer("Andrea", "Marzilli");
Order order0 = new Order(DateTime.Now.AddDays(-2), 999.00f);
andreaMarzilli.Orders.Add(order0);
session.Save(andreaMarzilli);
Customer gianMaria = new Customer("Gian Maria", "Ricci");
Order order1 = new Order(DateTime.Now, 10.00f);
Order order2 = new Order(DateTime.Now, 20.00f);
gianMaria.Orders.Add(order1);
gianMaria.Orders.Add(order2);
session.Save(gianMaria);
session.Flush();
}
// Sposto un ordine da un cliente ad un altro
using (ISession session = NHSessionManager.GetSession())
{
Customer gm = session.CreateQuery("select c from Customer c where c.Name = 'Gian Maria'")
.UniqueResult<Customer>();
Customer am = session.CreateQuery("select c from Customer c where c.Name = 'Andrea'")
.UniqueResult<Customer>();
Order o = gm.Orders[0];
gm.Orders.Remove(o);
am.Orders.Add(o);
// Ora gm ha due ordini, am uno, sposto un ordine da un cliente ad un altro
session.Flush();
}
}