Beispiel #1
0
        public String obterNomeMapeado(string propriedade)
        {
            String[] props = propriedade.Split('.');
            if (props.Length == 1)
            {
                return(Mapeamento[propriedade]);
            }

            Uniao uniao = listaJoins.FirstOrDefault(j => j.Nome == props[0]);

            if (uniao == null)
            {
                throw new Exception(String.Format("A propriedade {0} não foi adicionada como Join.", props[0]));
            }

            return(uniao.Mapeamento[props[1]]);
        }
Beispiel #2
0
        protected ISqlConstrutor adicionaUniao(TipoUniao tipoUniao, String propriedade, String tabela,
                                               String apelido = null, String condicionalAdicional = null)
        {
            Type         tipo = entidade.obterTiposMapeado()[propriedade];
            PropertyInfo prop = entidade.GetType().GetProperty(propriedade);

            if (prop == null)
            {
                throw new Exception(String.Format("Propriedade {0} da entidade {1} não possui a assinatura Mapear.",
                                                  propriedade, entidade.GetType().FullName));
            }

            Uniao u = new Uniao(this, propriedade, tipo, tabela, apelido)
            {
                TipoUniao         = tipoUniao,
                CondicaoAdicional = condicionalAdicional
            };

            listaJoins.Add(u);

            return(this);
        }