//-- objeto

        public static TObject GetObjeto <TObject>(this IAbstractDataContext context, object filtro = null, bool relacao = true)
        {
            var listaDeCampoTipo = new[] { CampoTipo.Key };

            var where = context.GetComando()
                        .ComObjeto(filtro)
                        .ComTipoCampo(listaDeCampoTipo)
                        .GetWhereObj();
            return((TObject)context.GetObjeto(typeof(TObject), where, relacao));
        }
        //-- lista

        public static IList <TObject> GetLista <TObject>(this IAbstractDataContext context, object filtro = null, bool relacao = true, int qtde = -1, int pagina = 0)
        {
            var listaDeCampoTipo = new[] { CampoTipo.Key, CampoTipo.Req, CampoTipo.Nul };

            var where = context.GetComando()
                        .ComObjeto(filtro)
                        .ComTipoCampo(listaDeCampoTipo)
                        .GetWhereObj();
            return(context.GetLista(typeof(TObject), where, relacao, qtde, pagina) as IList <TObject>);
        }