none
ayuda con la traduccion de esta instruccion RRS feed

  • Pregunta

  • amigos estoy aprendiendo linq y queria ver  la traducccion de esta consulta a sql normal.

    se los agradeceria.

    public Usuario Obtener(int id)
            {
                var usuario = new Usuario();
    
                try
                {
                    using (var ctx = new TestContext())
                    {
                        ctx.Configuration.LazyLoadingEnabled = false;
    
                        usuario = ctx.Usuario.Include("Rol")
                                             .Include("Rol.Permiso")
                                             .Where(x => x.id == id).SingleOrDefault();
                    }
                }
                catch (Exception e)
                {
                    throw;
                }
    
                return usuario;
            }


    Horacio Xochitemol Bautista

    jueves, 10 de marzo de 2016 23:28

Respuestas

  • hola

    podria ser algo como

    SELECT * FROM Usuario u
    INNER JOIN Rol r ON u.RolId = r.RolId
    INNER JOIN Permiso p ON r.PermisoId = p.PermisoId
    WHERE u.Id = @id

    los campos de relacion los invente porque no conozco como es que loas estas mapeando, pero seria algo como eso

    sino podrias ejecutar el codigo contra la db y con algun profiler capturar el sql que se genera

    Tambien si usas VS2012 o superior podrias usar el IntelliTracepara ver el sql generado

    Using IntelliTrace With Entity Framework In Visual Studio 2012

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 11 de marzo de 2016 9:37