Я пытаюсь подключить таблицы членства asp.net к сайту asp.mvc 3.Я следовал учебному пособию в книге Стива Сандерсона «Pro ASP.NET MVC 3 Framework» для спортивного магазина и применял его к таблицам, сгенерированным из exe членства.
Итак, у меня есть класс пользователя, которыйвыглядит так:
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; }
}
}
и класс контекста выглядит так:
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");
}
}
, но я получаю сообщение об ошибке, потому что я предполагаю, что он ищет соединение между этими двумя таблицами, когда на самом деле существуетявляется таблицей соединений (aspnet_UsersInRoles
) между ними, чтобы избежать ссылки «многие ко многим», когда я пытаюсь ссылаться на модель ролей от пользователя, например:
var test = _repository.Users.FirstOrDefault().Roles.Count();
{«Недопустимый столбецname 'User_UserId'. \ r \ nНеверное имя столбца 'User_UserId'. \ r \ nНеверное имя столбца 'User_UserId'. "}
есть способ сопоставить таблицу вместе с помощью таблицы объединения, используяструктура сущности?Лучше просто добавить новую модель данных сущности ADO.NET и позволить Visual Studio просто перепроектировать базу данных?