protected void Contem(
            Expression <Func <TObjeto, object> > propriedade,
            Type tipoDoRepositorio,
            Expression <Action <IRepositorioConceitoComPortador <object>, TObjeto> > metodoDeDefinicao,
            Expression <Func <IRepositorioConceitoComPortador <object>, TObjeto, object> > metodoDeObtencao,
            Expression <Action <IRepositorioConceitoComPortador <object>, TObjeto> > metodoDeExclusao)
        {
            var prop          = (PropertyInfo)ExtraiaMembro(propriedade);
            var methObtencao  = (MethodInfo)ExtraiaMethodFunc(metodoDeObtencao);
            var paramObtencao = ExtraiaParametrosFunc(metodoDeObtencao);
            var methDefinicao = (MethodInfo)ExtraiaMethodAction(metodoDeDefinicao);
            var methExclusao  = (MethodInfo)ExtraiaMethodAction(metodoDeExclusao);
            var repositorio   = (Type)ExtraiaRepositorioFunc(metodoDeObtencao);

            MapeamentoDePropriedades.Add(
                new MapeamentoDePropriedade()
            {
                TipoDeMapeamento    = EnumTipoDeMapeamento.CONTEM,
                Propriedade         = prop,
                MetodoParaDefinicao = methDefinicao,
                MetodoParaObtencao  = methObtencao,
                ParametrosParaObtencaoOuExclusao = paramObtencao,
                MetodoParaExclusao = methExclusao,
                Repositorio        = repositorio
            });
        }
        protected void Mapeia(
            Expression <Func <TObjeto, object> > propriedade, string coluna)
        {
            var prop = (PropertyInfo)ExtraiaMembro(propriedade);

            MapeamentoDePropriedades.Add(
                new MapeamentoDePropriedade()
            {
                Coluna           = coluna,
                Propriedade      = prop,
                TipoDeMapeamento = EnumTipoDeMapeamento.MAPEIA
            });
        }
        protected void Referencia(Expression <Func <TObjeto, object> > propriedade,
                                  string coluna,
                                  Type tipoDoRepositorio,
                                  Expression <Func <IRepositorio <IConceito>, object, object> > metodoDeObtencao)
        {
            var prop         = (PropertyInfo)ExtraiaMembro(propriedade);
            var methObtencao = (MethodInfo)ExtraiaMethodFunc(metodoDeObtencao);
            var repositorio  = tipoDoRepositorio;

            MapeamentoDePropriedades.Add(
                new MapeamentoDePropriedade()
            {
                Coluna             = coluna,
                Propriedade        = prop,
                MetodoParaObtencao = methObtencao,
                Repositorio        = repositorio,
                TipoDeMapeamento   = EnumTipoDeMapeamento.REFERENCIA
            });
        }