Note: Forums will be making significant UX changes to address key usability improvements surrounding search, discoverability and navigation. To learn more about these changes please visit the announcement which can be found HERE.
Erro ao retornar um campo ao usar o entity framework

Respondido Erro ao retornar um campo ao usar o entity framework

  • terça-feira, 8 de maio de 2012 03:48
     
     

    Boa noite pessoal!

    estou com um problema que nao estou conseguindo resolver ja a uma semana, por isso gostaria da ajuda de voces, é o seguinte:

    estou fazendo um projeto com entity framework em camadas, estou chamando um metodo da camada BLL.

    protected void btnAdicionar_Click(object sender, EventArgs e)

            {

                ProdutoBLL produto = new ProdutoBLL();

                PRODUTO pro = new PRODUTO();

               string nomeproduto = DDLproduto.SelectedItem.Text;

               string preco_prod = Convert.ToString(produto.preco_Produto(pro));

        --------------------------------------------------------------------------------------------------- 

    //BLL

        

    public object preco_Produto  (PRODUTO registro)

    {

                SISTEMA_ZEUSEntities entidade = newSISTEMA_ZEUSEntities();

              var resultado = from p in entidade.PRODUTO

                    where p.codprod == registro.codprod

                      select p;

              return resultado;

                            

            }

    Minha tabela produtos possui N campos, mas preciso que o metodo retorne apenas o campo preco.

    da forma que o codigo esta me retorna sempre a seguinte MSG:

    System.Data.Objects.ObjectQuery`1[Sistema_Zeus_Library.PRODUTO]

    Se eu usar select new{ p.preco},tambem da erro:

    System.Data.Objects.ObjectQuery`1[<>f__AnonymousType9`1[System.Decimal]]


    Alguem poderia me ajudar ja nao tenho mais ideia do que fazer!

    • Editado Rodrigo_cpe terça-feira, 8 de maio de 2012 11:31
    •  

Todas as Respostas

  • terça-feira, 8 de maio de 2012 11:46
    Moderador
     
     Respondido Contém Código

    Olá Rodrigo,

    Parece que no caso vc esta tentando converter uma coleção inteira em um único item, isto é, é algo parecido como converter um Array de Produtos em uma string.

    No caso vc precisar fazer algo como:

    public object preco_Produto  (PRODUTO registro)
    {
    
    SISTEMA_ZEUSEntities entidade = newSISTEMA_ZEUSEntities();
    
    var resultado = (from p in entidade.PRODUTO
                    where p.codprod == registro.codprod
                    select p).FirstOrDefault();
    
    if (resultado == null)
    return 0.00;
    else 
    return resultado.preco;
    }
    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    • Marcado como Resposta Rodrigo_cpe terça-feira, 8 de maio de 2012 12:28
    •  
  • terça-feira, 8 de maio de 2012 12:30
     
     
    Fernando muito obrigado, era isso mesmo, agora deu certo.
  • terça-feira, 8 de maio de 2012 12:31
    Moderador
     
     

    Opa!

    Tamo junto! O que precisar é só falar!

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique