none
EF RRS feed

  • Pregunta

  • hola foro

    Estoy trabajando con entity framework 6.1  con stores , cuando llamo al funcion import de un store me devuelve Ienumerable y no Iqueryable y quisiera seguir filtrando.

      var result = context.GetCourses().Where(y=>y.CourseID ==1).ToList(); o sea en el filtro por where me toma como ienumerable 

    no se puede hacer un filtro por el where y despues se ejecute al final .Es para agregar mas filtros antes de la llamada al store


    En el conteto tengo asi :

            public virtual ObjectResult<GetCourses_Result> GetCourses()
            {
                return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<GetCourses_Result>("GetCourses");
            }


    gracias

    miércoles, 3 de mayo de 2017 4:06

Respuestas

  • hola

    >>cuando llamo al funcion import de un store me devuelve Ienumerable y no Iqueryable y quisiera seguir filtrando.

    ahora que leo mejor veo que usas un procedure, entiendo que con este no podrias generar una consulta dinamica por eso retorna el IEnumerable porque despues que el procedure ejecuta ya solo podras filtrar en memoria

    si quieres seguir filtrando de forma dinamica no deberias usar un procedure

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 3 de mayo de 2017 5:54

Todas las respuestas

  • hola

    si quieres seguir filtrando quita el ToList() del final, ya que con este ejecutas la query contra la db

    var result = context.GetCourses().Where(y=>y.CourseID ==1);
    
    var result2 = result.Where(x=> x.Propxx = valor).ToList();

    cuando defines el ToList() estas ejecutando y por consiguiente impodes agregar filtros, bueno en realidad podrias agreger where despeus del tolist() solo que filtrara en memoria

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 3 de mayo de 2017 5:52
  • hola

    >>cuando llamo al funcion import de un store me devuelve Ienumerable y no Iqueryable y quisiera seguir filtrando.

    ahora que leo mejor veo que usas un procedure, entiendo que con este no podrias generar una consulta dinamica por eso retorna el IEnumerable porque despues que el procedure ejecuta ya solo podras filtrar en memoria

    si quieres seguir filtrando de forma dinamica no deberias usar un procedure

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 3 de mayo de 2017 5:54