BEF: Interface fluente para manipulação de entidades
Atualmente os métodos para manipulação de entidades possuem muitos overloads e requerem um setup de objetos relativamente verboso para, por exemplo, obtenção de entidades.
Uma interface fluente muda o foco da API: Ao invés de expor o mecanismo de acesso a entidades, expõe a intenção do programador.
Atualmente:
Criteria criteria = new Criteria("A.NOME = :NOME");
criteria.Parameters.Add("NOME", "Brasil");
EntityBase e = Entity.Get(EntityDefinition.GetByName("TABELA"), criteria);
Sugestão:
var entity = Repository.Definition("TABELA")
.Where("NOME = :NOME")
.Params(new Param("NOME", "Brasil")
.Get();
Liberado na versão 19.1 com o QueryBuilder, em 18/09/2019.