Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 跨多个表拆分ASP.Net标识实体_C#_Asp.net_Entity Framework_Asp.net Identity - Fatal编程技术网

C# 跨多个表拆分ASP.Net标识实体

C# 跨多个表拆分ASP.Net标识实体,c#,asp.net,entity-framework,asp.net-identity,C#,Asp.net,Entity Framework,Asp.net Identity,有没有一种简单的方法可以跨多个表拆分ASP.Net标识实体?我知道您可以使用OnModelCreating更改Identity使用的表的名称 protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<IdentityU

有没有一种简单的方法可以跨多个表拆分ASP.Net标识实体?我知道您可以使用OnModelCreating更改Identity使用的表的名称

protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<IdentityUser>().ToTable("IdentityUser").Property(p => p.Id).HasColumnName("UserId");
    }
protectedoverride void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
基于模型创建(modelBuilder);
modelBuilder.Entity().ToTable(“IdentityUser”).Property(p=>p.Id).HasColumnName(“UserId”);
}
您是否可以在OnModelCreating或其他地方类似地使用覆盖来跨多个表进行拆分?我尝试使用地图:

    modelBuilder.Entity<IdentityUser>().Map(m =>
{
    m.Properties(t => new {t.Id, t.UserName});
    m.ToTable("User");
});
modelBuilder.Entity().Map(m=>
{
m、 属性(t=>new{t.Id,t.UserName});
m、 ToTable(“用户”);
});
但我收到一个错误,指示用户名已映射。非键属性“UserName”已映射多次。确保Properties方法只指定每个非键属性一次


我假设这是由于默认的身份映射已经映射了用户名。为了在多个表中拆分IdentityUser实体,我是否可以覆盖此属性或删除默认映射?

等待一周,他们将再次更改所有结构,它将是Identity v.5,允许您配置身份验证,只创建20个类,覆盖80个方法。。。(啊,别忘了接口,它有一千多个)。最棒的是,这次它将被很好地记录下来。