none
Que tipo de dado retorna uma select em Linq ? RRS feed

  • Pergunta

  • Quero retornar em Json o retorno de uma select em Linq. Se eu retorno um var do select, consigo passar via Json para minha View, mas do jeito que está estruturada minha aplicação, não posso deixar var, tenho que deixar outro tipo.

    E sempre que dou cast para Ienumerable ou Iquerable, ele da erro de cast.

    segunda-feira, 6 de agosto de 2012 18:36

Respostas

  • Qual o resultado da sua QUERY??

    Se for uma lista o cast deve ser do tipo  .ToList();

    Se for um item apenas voce pode usar no final da query .FirstorDefault();

    Caso voce precise retornar um tipo especifico, ou seja um objeto predefinido (diferente da sua pesquisa) voce pode fazer desta forma

    public class ProdutoDiferente
    {
    
    public int Id {get;set;}
    public string Nome {get;set;}
    public string Detalhe {get;set;}
    }
    
    
    
    NO LINQ
    
    
    var produtodiferente = (from p in Context.Produto
                            select new ProdutoDiferente
                            {
                                Id = p.Id,
                                Nome = p.Nome,
                                Detalhe = "aqui vem uma informação diferente, como por exemplo um JOIN"
                            }).ToList();
    
    return produtodiferente;

    Espero que ajude, se não da um toque ai e te ajudamos.

    Tenta postar o Codigo Também..

    Abraços


    http://fparmezani.wordpress.com

    segunda-feira, 6 de agosto de 2012 23:50

Todas as Respostas

  • Thiago você poderia posta o código?


    você pode retornar um objeto ou coleção de objetos.
    segunda-feira, 6 de agosto de 2012 19:28
    Moderador
  • Qual o resultado da sua QUERY??

    Se for uma lista o cast deve ser do tipo  .ToList();

    Se for um item apenas voce pode usar no final da query .FirstorDefault();

    Caso voce precise retornar um tipo especifico, ou seja um objeto predefinido (diferente da sua pesquisa) voce pode fazer desta forma

    public class ProdutoDiferente
    {
    
    public int Id {get;set;}
    public string Nome {get;set;}
    public string Detalhe {get;set;}
    }
    
    
    
    NO LINQ
    
    
    var produtodiferente = (from p in Context.Produto
                            select new ProdutoDiferente
                            {
                                Id = p.Id,
                                Nome = p.Nome,
                                Detalhe = "aqui vem uma informação diferente, como por exemplo um JOIN"
                            }).ToList();
    
    return produtodiferente;

    Espero que ajude, se não da um toque ai e te ajudamos.

    Tenta postar o Codigo Também..

    Abraços


    http://fparmezani.wordpress.com

    segunda-feira, 6 de agosto de 2012 23:50