Hola gente!
Agustin, yo en una aplicacion para un cliente, tengo Roles y Users, y N:M. El modelo de Entity Framework fue generado desde la base. Uso cosas como Context.Users.Where(u => u.UserId = id).Roles; Es decir, EntityFramework dejo en la clase User, un EntitySet<Role> (escribo de memoria). Y voila. En general no uso la sintaxis from usr , asi que no sabria traducirla ahora. Nos leemos! Angel Java Lopez http://www.ajlopez.com http://twitter.com/ajlopez From: [email protected] [mailto:[email protected]] On Behalf Of Agustín E. Tamborelli Sent: Wednesday, March 16, 2011 10:37 AM To: [email protected] Subject: [puntonet] Consulta Entity Framework Buenos días Acudo a la lista porque tengo problemas para migrar de LinQ to SQL a Entity Framework 4. Estamos trabajando con la versión 4 del Framework .NET y ASP.NET MVC 2. Nuestra duda es como resolver las consultas cuando existen relaciones muchos-a-muchos (N:M) entre tablas. Por ejemplo, para obtener una lista de los roles asociados a un usuario necesitaríamos hacer una consulta del estilo: IEnumerable<DataServices.Role> roles = from usr in Usuarios join rol in Roles on rol.RolID equals usr.Roles.RolID where usr.UsuarioID == usuarioId select rol; Donde usuarioId es un parámetro informado para filtrar el código de usuario que estamos buscando y usr.Roles.RolID es lo que no estamos pudiendo resolver. No podemos acceder a las relaciones de las diferentes tablas. ¿Nos está faltando definir algo más en el modelo? ¿Está bien armada la consulta? ¿Alguien tendrá o me puede referir a algún ejemplo de este tipo? Todo lo que vimos en la web son ejemplos muy sencillos pero ninguno resuelve el (N:M). El modelo de datos sería algo así: Usuarios UsuarioID (PK) Codigo Nombre Roles RolID (PK) Nombre Descripcion UsuariosRoles UsuarioID (PK) RolID (PK) UsuariosRoles se relaciona con Roles y con Usuarios para resolver la relación muchos-a-muchos (N:M) que existe entre Usuarios y Roles. Al implementar esto en EF4, en el modelo .edmx (EF) solo figuran las tablas Usuarios y Roles. Luego aparece una asociación UsusariosRoles, pero no la tabla. Desde ya muchas gracias. Saludos. Agustín E. Tamborelli
<<image002.gif>>
