C# Asp.net标识添加配置文件数据会导致错误
您好,我正在尝试使用新的ASP.NET Identity Framework将一些配置文件信息添加到我的数据库中。我不断收到以下错误: “实体类型用户不是当前上下文模型的一部分。” 这就是我到目前为止所做的:C# Asp.net标识添加配置文件数据会导致错误,c#,asp.net,asp.net-mvc,entity-framework,asp.net-web-api,C#,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Web Api,您好,我正在尝试使用新的ASP.NET Identity Framework将一些配置文件信息添加到我的数据库中。我不断收到以下错误: “实体类型用户不是当前上下文模型的一部分。” 这就是我到目前为止所做的: private UserManager<User> UserManager { get { return userManager ?? (userManager = new UserManager<User>(UserStore)); } } ...
private UserManager<User> UserManager
{
get { return userManager ?? (userManager = new UserManager<User>(UserStore)); }
}
.............
var user = new User
{
UserName = applicationUser.EmailAddress,
Password = applicationUser.Password,
BirthDate = applicationUser.BirthDate,
FirstName = applicationUser.FirstName,
Gender = applicationUser.Gender,
IsTermsAndConditionChecked = applicationUser.IsTermsAndConditionChecked,
LastName = applicationUser.LastName
};
var identityResult = UserManager.Create(user, user.Password);
..............
public class User : IdentityUser
{
public string Password { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime? BirthDate { get; set; }
public int Gender { get; set; }
public bool IsTermsAndConditionChecked { get; set; }
}
public class DbContext : IdentityDbContext<IdentityUser> , IDbContext
{
public DbContext()
: base("CodeArtConnectionString")
{
}
}
public class AppUserStore : UserStore<User>
{
private static DbContext dbContext;
private static IDependencyContainerWrapper dependencyContainer;
private static IDependencyContainerWrapper DependencyContainer
{
get
{
return dependencyContainer ?? (dependencyContainer =
HttpContextWrapper.Application[GeneralConstants.DEPENDENCY_CONTAINER_KEY] as IDependencyContainerWrapper);
}
}
public static DbContext DbContext
{
get
{
return dbContext ?? (dbContext = DependencyContainer.Resolve<IDbContext>() as DbContext);
}
}
public AppUserStore() : base(DbContext)
{
}
}
private用户管理器用户管理器
{
获取{return userManager???(userManager=newusermanager(UserStore));}
}
.............
var user=新用户
{
用户名=applicationUser.EmailAddress,
Password=applicationUser.Password,
BirthDate=applicationUser.BirthDate,
FirstName=applicationUser.FirstName,
性别=应用程序用户性别,
IsTermsAndConditionChecked=applicationUser.IsTermsAndConditionChecked,
LastName=applicationUser.LastName
};
var identityResult=UserManager.Create(user,user.Password);
..............
公共类用户:IdentityUser
{
公共字符串密码{get;set;}
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共日期时间?生日{get;set;}
公共整数{get;set;}
公共bool IsTermsAndConditionChecked{get;set;}
}
公共类DbContext:IdentityDbContext,IDbContext
{
公共DbContext()
:base(“CodeArtConnectionString”)
{
}
}
公共类AppUserStore:UserStore
{
私有静态DbContext-DbContext;
私有静态idependencyContainerRapper依赖容器;
私有静态IDEpendencyContainerRapper DependencyContainer
{
得到
{
返回dependencyContainer???(dependencyContainer=
HttpContextWrapper.Application[GeneralConstants.DEPENDENCY_CONTAINER_KEY]作为IdependencyContainerRapper);
}
}
公共静态DbContext DbContext
{
得到
{
返回dbContext??(dbContext=DependencyContainer.Resolve()作为dbContext);
}
}
公共AppUserStore():基(DbContext)
{
}
}
有人能告诉我我做错了什么吗?我认为您需要在DbContext类中使用
User
而不是IdentityUser
,如下所示:
public class DbContext : IdentityDbContext<User> , IDbContext
{
public DbContext()
: base("CodeArtConnectionString")
{
}
}
public类DbContext:IdentityDbContext,IDbContext
{
公共DbContext()
:base(“CodeArtConnectionString”)
{
}
}