无效的对象名称“ dbo.AspNetUserAspNetRoles”

汤姆

使用实体框架处理我的第一个MVC5项目。当我加载我的用户并尝试访问他们所在的角色时,延迟加载正在尝试从AspNetUserAspNetRoles加载。该表实际上被命名为AspNetUserRoles,我认为这是默认值,并且在向用户添加角色时工作正常。我的DBA为我设置了初始模型集合,并且不在会议上。我想我可能在DBContext中丢失了一些内容,但是一个小时后,我仍在寻找解决问题的良好参考。

这是我的AspNetUser模型。我消除了其他一些关系以节省空间

    public partial class AspNetUser : IBusinessObject
{
    public AspNetUser()
    {
        this.AspNetRoles = new List<AspNetRole>();
    }

    public string Id { get; set; }
    public string UserName { get; set; }
    public string PasswordHash { get; set; }
    public string SecurityStamp { get; set; }
    public string Discriminator { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
    public System.DateTime CreatedOn { get; set; }
    public System.DateTime UpdatedOn { get; set; }
    public string CreatedByUserId { get; set; }
    public bool IsDeleted { get; set; }
    public string ResetPasswordKey { get; set; }
    public Nullable<System.DateTime> ResetPasswordKeyExpiration { get; set; }
    public virtual ICollection<AspNetRole> AspNetRoles { get; set; }

    public void SoftDelete(bool reverse = false)
    {
        IsDeleted = !reverse;
    }

}

这是AspNetRole模型

public partial class AspNetRole : INameable, IBusinessObject
{
    public AspNetRole()
    {
        this.AspNetUsers = new List<AspNetUser>();
    }

    public string Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<AspNetUser> AspNetUsers { get; set; }

}

这是我的DbContext

public partial class SdContext : DbContext
    {
        static SdContext()
        {
            Database.SetInitializer<SdContext>(null);
        }

        public SdContext()
            : base("SdConnection")
        {
        }

        public DbSet<Cluster> Clusters { get; set; }
        public DbSet<CoLabDate> CoLabDates { get; set; }
        public DbSet<CoLabLocation> CoLabLocations { get; set; }
        public DbSet<CoLab> CoLabs { get; set; }
        public DbSet<CoLabType> CoLabTypes { get; set; }
        public DbSet<Contact> Contacts { get; set; }
        public DbSet<Document> Documents { get; set; }
        public DbSet<Organization> Organizations { get; set; }
        public DbSet<Participant> Participants { get; set; }
        public DbSet<Project> Projects { get; set; }
        public DbSet<Statement> Statements { get; set; }
        public DbSet<TriggeringQuestion> TriggeringQuestions { get; set; }
        public DbSet<VoteAction> VoteActions { get; set; }
        public DbSet<Vote> Votes { get; set; }
        public DbSet<VoteType> VoteTypes { get; set; }
        public DbSet<AspNetUser> AspNetUser { get; set; }
        public DbSet<AspNetRole> AspNetRole { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new ClusterMap());
            modelBuilder.Configurations.Add(new CoLabDateMap());
            modelBuilder.Configurations.Add(new CoLabLocationMap());
            modelBuilder.Configurations.Add(new CoLabMap());
            modelBuilder.Configurations.Add(new CoLabTypeMap());
            modelBuilder.Configurations.Add(new ContactMap());
            modelBuilder.Configurations.Add(new DocumentMap());
            modelBuilder.Configurations.Add(new OrganizationMap());
            modelBuilder.Configurations.Add(new ParticipantMap());
            modelBuilder.Configurations.Add(new ProjectMap());
            modelBuilder.Configurations.Add(new StatementMap());
            modelBuilder.Configurations.Add(new TriggeringQuestionMap());
            modelBuilder.Configurations.Add(new VoteActionMap());
            modelBuilder.Configurations.Add(new VoteMap());
            modelBuilder.Configurations.Add(new VoteTypeMap());
        }
    }
汤姆

好吧...找出可能是解决此问题的最佳方法。我创建了一个名为AspNetRoleMap.cs的映射文件

public AspNetRoleMap()
{
    // Primary Key
    this.HasKey(t => t.Id);

    // Properties
    // Table & Column Mappings
    this.ToTable("AspNetRoles");
    this.Property(t => t.Id).HasColumnName("Id");
    this.Property(t => t.Name).HasColumnName("Name");

    // Relationships
    this.HasMany(u => u.AspNetUsers)
        .WithMany(t => t.AspNetRoles)
        .Map(
            m =>
            {
                m.MapLeftKey("RoleId");
                m.MapRightKey("UserId");
                m.ToTable("AspNetUserRoles");
            }
        );

}

然后在DbContext OnModelCreating()中添加以下内容以将其包括在内。

modelBuilder.Configurations.Add(new AspNetRoleMap());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无效的对象名称“ dbo.Item”

来自分类Dev

无效的对象名称“ dbo.stream”

来自分类Dev

无效的对象名称“ dbo .__ MigrationHistory”

来自分类Dev

无效的对象名称“ dbo.Item”

来自分类Dev

LinqPad显示无效的对象名称“ dbo.sysforeignkeys”

来自分类Dev

实体框架无效的对象名称“ dbo.EA_EmployeePerformance”

来自分类Dev

实体框架无效的对象名称“ dbo.EA_EmployeePerformance”

来自分类Dev

错误:无效的对象名称'dbo .__ MigrationHistory'。具有自定义架构名称

来自分类Dev

无法创建表。创建新对象时,对象名称'master.dbo.DDLevents'无效

来自分类Dev

Asp.NET MVC 5实体框架中的无效对象名称“ dbo.AspNetUsers”

来自分类Dev

无效的对象名称“ dbo.UserNotes”。例外-ASP.NET MVC 4

来自分类Dev

SQL Server错误208:无效的对象名称'Utils.dbo.ChangeLogging_DDLCommands'

来自分类Dev

System.Data.SqlClient.SqlException:无效的对象名称“ dbo.Slider”

来自分类Dev

SqlException:使用LocalSystem作为标识时,无效的对象名称dbo。<表名>

来自分类Dev

Asp.NET MVC 5实体框架中的无效对象名称“ dbo.AspNetUsers”

来自分类Dev

System.Data.SqlClient.SqlException:无效的对象名称“ dbo.Slider”

来自分类Dev

删除该表后,身份将引发“无效的对象名称'dbo.AspNetUserClaims'”

来自分类Dev

当地作品。Azure提供错误:无效的对象名称“ dbo.AspNetUsers”。为什么?

来自分类Dev

实体框架仅在更新时引发异常 - 无效的对象名称“dbo.BirdBrain.service”

来自分类Dev

ASP.NET Identity 2.0 Roles.IsUserInRole提供{“无效的对象名称'dbo.aspnet_SchemaVersions'。”}异常

来自分类Dev

Visual C#SQL Server罗斯文数据库错误:无效的对象名称'dbo.Products'

来自分类Dev

将sqlcmd与FOR XML一起使用将返回无效的对象名称'dbo.Table',但查询仍在SSMS中运行

来自分类Dev

无效的对象名称“ C”

来自分类Dev

CTE的对象名称无效

来自分类Dev

对象名称无效:“ master”

来自分类Dev

无效的对象名称错误

来自分类Dev

对象名称“学生”无效

来自分类Dev

无效的对象dbo.UserShoppingItems-Azure IIS和SQL Server

来自分类Dev

#tem_table的对象名称无效

Related 相关文章

  1. 1

    无效的对象名称“ dbo.Item”

  2. 2

    无效的对象名称“ dbo.stream”

  3. 3

    无效的对象名称“ dbo .__ MigrationHistory”

  4. 4

    无效的对象名称“ dbo.Item”

  5. 5

    LinqPad显示无效的对象名称“ dbo.sysforeignkeys”

  6. 6

    实体框架无效的对象名称“ dbo.EA_EmployeePerformance”

  7. 7

    实体框架无效的对象名称“ dbo.EA_EmployeePerformance”

  8. 8

    错误:无效的对象名称'dbo .__ MigrationHistory'。具有自定义架构名称

  9. 9

    无法创建表。创建新对象时,对象名称'master.dbo.DDLevents'无效

  10. 10

    Asp.NET MVC 5实体框架中的无效对象名称“ dbo.AspNetUsers”

  11. 11

    无效的对象名称“ dbo.UserNotes”。例外-ASP.NET MVC 4

  12. 12

    SQL Server错误208:无效的对象名称'Utils.dbo.ChangeLogging_DDLCommands'

  13. 13

    System.Data.SqlClient.SqlException:无效的对象名称“ dbo.Slider”

  14. 14

    SqlException:使用LocalSystem作为标识时,无效的对象名称dbo。<表名>

  15. 15

    Asp.NET MVC 5实体框架中的无效对象名称“ dbo.AspNetUsers”

  16. 16

    System.Data.SqlClient.SqlException:无效的对象名称“ dbo.Slider”

  17. 17

    删除该表后,身份将引发“无效的对象名称'dbo.AspNetUserClaims'”

  18. 18

    当地作品。Azure提供错误:无效的对象名称“ dbo.AspNetUsers”。为什么?

  19. 19

    实体框架仅在更新时引发异常 - 无效的对象名称“dbo.BirdBrain.service”

  20. 20

    ASP.NET Identity 2.0 Roles.IsUserInRole提供{“无效的对象名称'dbo.aspnet_SchemaVersions'。”}异常

  21. 21

    Visual C#SQL Server罗斯文数据库错误:无效的对象名称'dbo.Products'

  22. 22

    将sqlcmd与FOR XML一起使用将返回无效的对象名称'dbo.Table',但查询仍在SSMS中运行

  23. 23

    无效的对象名称“ C”

  24. 24

    CTE的对象名称无效

  25. 25

    对象名称无效:“ master”

  26. 26

    无效的对象名称错误

  27. 27

    对象名称“学生”无效

  28. 28

    无效的对象dbo.UserShoppingItems-Azure IIS和SQL Server

  29. 29

    #tem_table的对象名称无效

热门标签

归档