All pastes #14452 Raw Edit

Something

public text v1 · immutable
#14452 ·published 2005-06-14 03:46 UTC
rendered paste body
/*

mcs Main.cs -r:CS.dll -r:NHibernate.dll -r:Castle.DynamicProxy.dll
 -r:HashCodeProvider.dll -r:Iesi.Collections.dll -r:log4net.dll /resource:KeySet.hbm.xml
 /resource:Keyword.hbm.xml

*/

using System;
using System.Collections;
using CS;
using NHibernate.Cfg;
using NHibernate;


public class MainClass {
   
    public static void Main(string[] args)
    {
	//ETAPA 1 - cria o objeto de configuração do NHibernate que é responsável e tem o conhecimento
	//sobre todos os mapeamentos que existem entre os objetos do nosso sistema e a Base de Dados: 

	Configuration cfg = new Configuration();
	cfg.AddAssembly("CS");
	cfg.AddXmlFile("KeySet.hbm.xml");
	cfg.AddXmlFile("Keyword.hbm.xml");
	
		
	//ETAPA 2 - O objeto de ISession representa uma conexão com a sua Base de Dados e o ITransaction
	//representa uma transação controlada também pelo NHibernate: 
	ISessionFactory factory = cfg.BuildSessionFactory();
	ISession session = factory.OpenSession();
	ITransaction transaction = session.BeginTransaction();

	Keyword keyword1 = new Keyword();
	keyword1.Id = 1;
    keyword1.Name = "palavra1";
   
	KeySet keyset1 = new KeySet();
	keyset1.Id = 2;
    keyset1.Name = "gramatica1";   
    keyset1.Keys.Add( keyword1, keyword1 );

    try {
      session.Save( keyword1 );
      session.Flush();
      
      session.Save( keyset1 );
      session.Flush();
      
      transaction.Commit();
    }
    catch ( Exception e ) {
      if ( transaction != null ) transaction.Rollback();
      throw e;
   	}
    finally {
       session.Close();
   	}



    }
}