none
consulta en Linq RRS feed

  • Pregunta

  • Hola que tal, cuando genero una consulta para traer datos con Linq, me tira el error "la secuencia no tiene elementos"  y en base de datos si existe el dato q busco

    Trivia trivia1 = (from t in dc.Trivias where t.IdTrivia == id select t).Single();

     intente con FirtOrDefault() y el error no aparece mas pero no me actualiza los datos luego de la consulta tengo ell siguiente codigo que setea los valores

     if (trivia1 != null)
                {
                  
                    trivia1.Tema = txt_tema.Text;
                    trivia1.Cliente = Convert.ToInt32(drp_Cliente.SelectedItem.Value);
                    trivia1.Vigencia_Desde = Convert.ToDateTime(V_desde.Text);
                    trivia1.Vigencia_Hasta = Convert.ToDateTime(V_hasta.Text);
                    trivia1.Descripcion = txtDescripcion.Text;

                 
                    dc.SubmitChanges();
                }

    gracias

    lunes, 5 de noviembre de 2012 18:53

Respuestas

  • por lo que veo no esta pudiendo recuperar el valor de la db

    como que el id que proporcioans no existe en la db

    si usaste el FirtOrDefault() y devolvio un null entonces es porque el registro no esta, el Single() sino hay registro falla

    valida que el id que asignas exista en el campo IdTrivia

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 5 de noviembre de 2012 19:07
  • Si el error que te da es que no hay elementos, es que por alguna razón no hay elementos, no parece que sea problema de LINQ... Comprueba primero que simplemente dc.Trivias realmente tiene elementos, y si es así, entonces mira sus IDs porque entonces el problema estaría en el Where.


    Vicente Cartas Espinel - MVP XNA/DirectX

    Blog about C# and XNA Development

    Blog about Role Playing Games

    martes, 6 de noviembre de 2012 22:07

Todas las respuestas

  • por lo que veo no esta pudiendo recuperar el valor de la db

    como que el id que proporcioans no existe en la db

    si usaste el FirtOrDefault() y devolvio un null entonces es porque el registro no esta, el Single() sino hay registro falla

    valida que el id que asignas exista en el campo IdTrivia

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 5 de noviembre de 2012 19:07
  • hola Alejandro gracias por la rspuesta, el id que recibo como parametro existe, de  echo me trae los datos para editarlos en los texbox, pero no se porque no los actualiza
    martes, 6 de noviembre de 2012 19:53
  • Si el error que te da es que no hay elementos, es que por alguna razón no hay elementos, no parece que sea problema de LINQ... Comprueba primero que simplemente dc.Trivias realmente tiene elementos, y si es así, entonces mira sus IDs porque entonces el problema estaría en el Where.


    Vicente Cartas Espinel - MVP XNA/DirectX

    Blog about C# and XNA Development

    Blog about Role Playing Games

    martes, 6 de noviembre de 2012 22:07