2014-02-10 60 views
0

我有以下设置:Asp.net身份的DbContext

  1. 我已经通过创建我自己的类,并从身份类继承定制IdentityUser和IdentityRole类

  2. 而且我已经有基于实体框架我的域模型(通过EDMX设计器)

因为我想通过使用在我的正常的域模型类扩展IdentityUser,I C挂的数据上下文的TT到<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : IdentityDbContext<ApplicationUser>

外部记录所产生的文件,我已经创建的局部类从ApplicationDataContext像这样:

public partial class ApplicationDbContext 
{ 

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

     modelBuilder.Entity<IdentityUser>().ToTable("User", "portal").Property(p => p.Id).HasColumnName("UserId"); 
     modelBuilder.Entity<ApplicationUser>().ToTable("User", "portal").Property(p => p.Id).HasColumnName("UserId"); 
     modelBuilder.Entity<IdentityUserRole>().ToTable("UserRoles", "portal"); 
     modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogins", "portal"); 
     modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaims", "portal"); 
     modelBuilder.Entity<UserStoreAssignment>().ToTable("UserStoreAssignment", "portal"); 
     modelBuilder.Entity<ApplicationRole>().ToTable("Roles", "portal"); 
    } 

    new public DbSet<ApplicationRole> Roles { get; set; } 
} 

UserStoreAssignment指向一个类Store,其位于领域模型。一切都可以成功建立。但只要我开始从我的应用程序中访问ApplicationUser,我得到了以下错误消息:

的实体类型ApplicationUser是不是该机型为当前上下文的一部分。

有谁知道,问题可能是什么?

回答

0

听起来好像您正在尝试将ApplicationUser映射到表,但实际上并没有通过Designer将ApplicationUser添加到上下文中。