none
Consulta en una entidad dependiente EF RRS feed

  • Pregunta

  • Buen dia, como podria hacer una consulta de una entidad dependiente en el caso de la imagen la entidad Charity ya que al hacer una consulta me esta devolviendo la propiedad de navegacion Registration, estoy utilizando Entity Framework y linq.



    y esta es la consulta que estoy haciendo

     

       
    MarathonSkills2015Entities context;
        
                public List<Charity> ListCharity()
                {
                    using (context = new MarathonSkills2015Entities())
                    {           
                        var charities = (from c in context.Charity
                                         select c).ToList();
                        return charities;
                    }
                }




    necesitaria que solo me devolviera las propiedades de la entidad.

    Gracias

    Michael Mayorga D.


    • Editado Mikemd96 jueves, 21 de abril de 2016 23:13
    • Cambiado webJose viernes, 22 de abril de 2016 2:11
    jueves, 21 de abril de 2016 23:12

Todas las respuestas

  • Yo no soy ni usuario ni partidario de EF, así que lo que le diré tal vez no sea acertado.  Se lo dejo para que lo investigue y confirme.

    Entity Framework soporta algo que se llama "lazy loading" de las propiedades de navegación.  Parece ser que usted NO tiene lazy loading activado y por lo tanto la consulta también consulta por el valor de la(s) propiedad(es) de navegación.  Pienso yo entonces que su solución es activar lazy loading.  ¿Cómo?  Seguramente Google le sabrá decir más rápidamente que yo. :-)


    Jose R. MCP
    Code Samples

    viernes, 22 de abril de 2016 2:11
  • hola

    >>necesitaria que solo me devolviera las propiedades de la entidad.

    que propiedad de la entidad ? la verdad no entendi lo que planteas

    en el codigo claramente estas devolviendo una lista de Charity es ams el metodo y el valor que devuelve reflejaeso mismo

    Ahora bien si junto a el Charity necesitas la relacion podrias usar el Include()

    Loading Related Entities

    de esta forma en una sola query revuelves la entidad y las relaciones que indiques

    var charities = (from c in context.Charity.Include("Registration")
                      select c).ToList();

    Nota: valida si es el nombre correcto que puse en el include ya que no estoy seguro si lo define en plural

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 22 de abril de 2016 6:15
  • Lo que sucede es q al devolverlo como una lista y mostrarlo en un DataGridView me está trayendo la columna Registrario q es la propiedad de navegación, y pues esto me pone un error, le coloque una línea de código para apagar lo del lazy loading y me sigue trayendo la columna Registration pero vacía, en si no la necesito, como la podría evitar. Gracias

    Michael Mayorga D.

    viernes, 22 de abril de 2016 14:05
  • ¿Ya buscó lo que le sugerí de Lazy Loading?

    Jose R. MCP
    Code Samples

    viernes, 22 de abril de 2016 14:30
  • Si ya lo busque pero me sigue devolviendo la columna Registration pero vacio.

    Michael Mayorga D.

    viernes, 22 de abril de 2016 18:53
  • ¿Y vacío no es lo que usted realmente busca?  La propiedad existe y existirá a menos de que usted la elimine de EF.

    Jose R. MCP
    Code Samples

    viernes, 22 de abril de 2016 19:05