Estoy intentando conectar las tablas de miembros asp.net en la página web a un 3 asp.mvc. He estado siguiendo el tutorial en el libro de Steve Sanderson 'Pro ASP.NET MVC 3 Framework' para la tienda de deportes y aplicando esto a las tablas que se generan desde el miembro de exe.Mapeo de Ingreso mesas en el marco de la entidad
Así que tienen una clase de usuario que se parece a:
namespace Domain.Entities
{
public class User
{
public Guid UserId { get; set; }
public string UserName { get; set; }
public DateTime LastActivityDate;
public virtual ICollection<Role> Roles { get; set; }
}
public class Role
{
public Guid RoleId { get; set; }
public string RoleName { get; set; }
}
}
y una clase de contexto que se parece a:
public class EFDbContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().ToTable("aspnet_users");
modelBuilder.Entity<Role>().ToTable("aspnet_roles");
}
}
pero me da un error porque supongo que está buscando una combinación entre estas dos tablas cuando de hecho hay una tabla de combinación (aspnet_UsersInRoles
) entre medio para evitar un enlace de muchos a muchos, cuando intento y hago referencia al modelo de rol del usuario, como:
var test = _repository.Users.FirstOrDefault().Roles.Count();
{ "Nombre no válido columna 'User_UserId'. \ R \ nInvalid nombre de la columna 'User_UserId'. \ R \ nInvalid nombre de la columna 'User_UserId'."}
hay una manera para mapear la tabla juntos usando la tabla de unión usando el marco de entidad? ¿Es mejor simplemente agregar un nuevo modelo de datos de entidad ADO.NET y dejar que visual studio modifique la base de datos?
encontró un excelente conjunto de entradas de blog que cubre la forma de manipular EF aquí: http://vincentlauzon.wordpress.com/2011/04/21/entity-framework-4- 1-bypass-ef-query-mapping-8/en caso de que alguien más tenga necesidades similares – GrahamJRoy