ASP.NET身份-每个类型不支持多个对象集
我在应用程序中使用ASP.NET Identity遇到错误。
每个类型不支持多个对象集。对象集“ Identity Users”和“ Users”都可以包含“ Recommendation
Platform.Models.ApplicationUser”类型的实例。
我在StackOverflow中看到了有关此错误的一些问题。全部DbSet
在相同类型的两个对象上指示。但是在我DbContext
里面没有相同类型的DbSets
。FindAsync()
登录期间在方法上引发异常。
if (ModelState.IsValid) var user = await UserManager.FindAsync(model.UserName, model.Password);
if (user != null && user.IsConfirmed)
{
问题是我没有两个DbSets
相同的类型。我的上下文如下所示:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
public System.Data.Entity.DbSet<RecommendationPlatform.Models.ApplicationUser> IdentityUsers { get; set; }
}
和
public class RecContext : DbContext{
public RecContext()
: base("RecConnection")
{
Database.SetInitializer<RecContext>(new DropCreateDatabaseIfModelChanges<RecContext>());
}
public DbSet<Recommendation> Recommendations { get; set; }
public DbSet<Geolocation> Geolocations { get; set; }
public DbSet<Faq> Faqs { get; set; }
public DbSet<IndexText> IndexTexts { get; set; }
}
是什么导致此问题?也许与内置的ASP.NET Identity功能有关?反正是什么Users
类型?我的应用程序中没有它…
回答:
您确实有两个DbSet
相同类型的。
IdentityDbContext<T>
本身包含Users
声明为的属性:
public DbSet<T> Users { get; set; }
您要宣布班级第二名。
以上是 ASP.NET身份-每个类型不支持多个对象集 的全部内容, 来源链接: utcz.com/qa/404973.html