Respondido NHibernate + Chave estrangeira

  • quinta-feira, 18 de agosto de 2011 20:03
     
     

    Boa tarde Pessoal. Estou com uma dificuldade em criar uma chave estrangeira sem um relacionamento direto entre as entidades. Vou colocar abaixo um exemplo do que estou precisando fazer

        public class Pagamento

        {

            public Int32 IdPagamento { get; set; } // chave primária

     

            public Int32 IdFormaPagamento { get; set; } // chave estrangeira com a classe FormaPagamento

        }

     

        public class FormaPagamento 

        {

            public Int32 IdFormaPagamento { get; set; }

     

            public String Descrição { get; set; }

        }

    Pelo que eu andei dando uma olhada o que acontece, é que o Nhibernate obriga eu colocar uma referencia para a classe FormaPagamento ao invés de utilizar apenas o IdFormaPagamento. Se eu não colocar a referencia ele não consegue criar a chave estrangeira corretamente quando eu gero o schema pelo hibernate, aí terei que gerar esta chave manualmente.Alguém já conseguiu fazer isso?

     

    Abraços

     

     

Todas as Respostas

  • sexta-feira, 19 de agosto de 2011 18:18
     
     Respondido

    Rafael,

    Realmente você precisa relacionar a CLASSE, não consegui entender o porque de relacionar somente o ID. Vale lembrar que durante a geração do SQL ele cuida de converter isso para o inner join corretamente, se você não utilizar a classe ele nunca vai conseguir VALIDAR se o tipo de objeto que você esta consultando é do tipo FormaPagamento ou não, por isso a necessidade de tipagem no relacionamento, é uma questão de arquitetura realmente.

     


    Tornar o simples complicado é facil, tornar o complicado simples é criatividade, vontade e conhecimento
    • Marcado como Resposta IT HeroModerator quarta-feira, 24 de agosto de 2011 14:17
    •