Fala galera!
Tenho uma enorme duvida…
Estou desenvolvendo um sistema com nhibernate e tenho apenas uma
classe e gostaria de recuperar informações de quatro tabela, mas não
tenho a mínima idéia como realizar isso!
É possível recuperar através de um mapeamento hbn.xml informações de
quatro tabelas distintas, sendo que apenas algumas colunas serão
utilizadas?
Devo criar para cada tabela um classe?
Ou utilizo HQL para executar esse processo?
Obs.: Gostaria de que o HQL fosse a ultima opção.
Para facilitar o entendimento tenho a classe
Funcionario
using System;
using System.Collections.Generic;
using System.Text;
namespace br.com.coletor.model
{
public class Funcionario
{
#region …Atributos…
private Coligada _coligada;
private string _chapa;
private string _cracha;
private string _nome;
private DateTime _dataInicio;
private DateTime _dataFim;
private string _senha;
#endregion
#region …Propriedades…
public Coligada Coligada
{
get { return _coligada; }
set { _coligada = value; }
}
public string Chapa
{
get { return _chapa; }
set { _chapa = value; }
}
public string Cracha
{
get { return _cracha; }
set { _cracha = value; }
}
public string Nome
{
get { return _nome; }
set { _nome = value; }
}
public DateTime DataInicio
{
get { return _dataInicio; }
set { _dataInicio = value; }
}
public DateTime DataFim
{
get { return _dataFim; }
set { _dataFim = value; }
}
public string Senha
{
get { return _senha; }
set { _senha = value; }
}
#endregion
}
}
E a Query
SELECT
CODCRACHA,
CHAPAFUNC,
DATAINICIO,
DATAFIM,
F.NOME,
F.CODSECAO,
S.DESCRICAO SECAO,
C.NOME EMPRESA,
GETDATE() HORA,
ISNULL(PC.PWSCOLETOR,‘123MUDAR’) SENHACOLETOR
FROM CORPORE.DBO.AUSOPROV A
INNER JOIN CORPORE.DBO.PFUNC F
ON F.CHAPA = A.CHAPAFUNC
INNER JOIN CORPORE.DBO.PFCOMPL PC
ON PC.CODCOLIGADA = F.CODCOLIGADA
AND PC.CHAPA = F.CHAPA
INNER JOIN CORPORE.DBO.PSECAO S
ON S.CODCOLIGADA = A.CODCOLIGADA
AND S.CODIGO = F.CODSECAO
INNER JOIN CORPORE.DBO.GCOLIGADA C
ON C.CODCOLIGADA = A.CODCOLIGADA
WHERE A.CODCOLIGADA = 2
AND A.CHAPAFUNC = ‘1.6073’
Obrigado, Thiago Landucci