Preciso de algo genérico pra retornar objetos dinâmicos:
Ate fiz este método ai no repositório>, mas, no controller
me devolve este erro:
Alguma sugestão?
Preciso de algo genérico pra retornar objetos dinâmicos:
Ate fiz este método ai no repositório>, mas, no controller
me devolve este erro:
Alguma sugestão?
Como assim?
O meu objeto :
se você observar o meu SQL:
select id, name from calltype ...
Eu não preciso enviar todos os campos no JSON
e terei métodos específicos pra isso.
Em resumo :
Quero criar varias SQL
e retornar os atributos “como objetos” dinâmicos
id, name ou
id, name, createdBy ou
id, UpdatedByUserId
Vai depender do momento, pois eu não quero enviar tudo sempre
Id,
Name ,
CreatedDate ,
CreatedByUserId ,
MachineNameOrIPCreate ,
UpdatedDate ,
UpdatedByUserId ,
MachineNameOrIPUpdate ,
DeletedDate ,
DeletedByUserId ,
MachineNameOrIPDelete ,
CompanyId ,
BranchOfficeId ,
Percebe?
O meu JSON
esta indo dados demais pois são desnecessários para o momento
Ideal é sempre trabalhar com Dto específico, não misturando responsabilidades com uma classe genérica que pode impactar n funcionalidades.
Alternativas seriam voce ignorar a propriedade do json com o atributo [JsonIgnore] ou usar tipos anônimos, que é uma solucao mais dinâmica. Pesquise sobre. Exemplo qualquer:
var resultado = lista.Select(l => new { l.Codigo, l.Nome });
Bom vamos lá, a sua imagem diz tudo:
Você está retornado um dado dinâmico, e quer selecionar alguns campos do seu banco, isso é muito bom porque resultado num desempenho daquilo do que realmente precisa, para converte em um tipo para que o JSON
se comporte:
[
{"id": 1, "name": "Manutenção"}, ...
]
precisa fazer mais uma instrução da seguinte forma, na variável result
faça um expressão assim:
var resultType = result
.Select(x => new
{
x.Id,
x.Name
})
.ToList();
que você terá já um dado tipado do que precisa.
Vale muito bom lembrar que essa classe DapperRow nada mais é do que uma implementação:
IDictionary<string, object>
IReadOnlyDictionary<string, object>
ou seja, o retorno é dinâmico que na verdade é um dicionário de dados.
@Dragoon, Bom dia !
Exatamente isso, funcionou !!!
Eu não estava enxergando , da forma que você comentou.
Mas agora esta ok, meu JSON sera como eu quero… VLW