ASP.NET身份 – 不支持每种types的多个对象集
我在我的应用程序中使用ASP.NET身份发生错误。
不支持每种types的多个对象集。 对象集“身份用户”和“用户”都可以包含“推荐Platform.Models.ApplicationUser”types的实例。
我在stackoverflow中看到了一些关于这个错误的问题。 全部在相同types的两个DbSet对象上指示。 但是在我的DbContext中,不存在相同types的DbSets。 FindInync()方法在login期间引发的exception。
if (ModelState.IsValid) var user = await UserManager.FindAsync(model.UserName, model.Password); if (user != null && user.IsConfirmed) {
问题是我没有相同types的两个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身份function相关的东西? 无论如何,用户types是什么? 我没有在我的应用程序…
你有两个相同types的DbSet。
IdentityDbContext<T>
本身包含Users
属性声明为:
public DbSet<T> Users { get; set; }
你在class上宣布第二个。
检查这个文件“ApplicationDbContext.cs”,去掉由脚手架最后自动生成的行,应该是这样的:
public System.Data.Entity.DbSet<Manager.Models.ApplicationUser> IdentityUsers { get; set; }
- 尝试在ASP.Net站点上使用Visual Studios Profiler时发生元数据库错误
- LINQ to SQL – 如何select特定列并返回强types列表
- 与ASP.NET按钮回发jQuery UI对话框
- Visual Studio 2017错误:无法启动程序,一个操作在当前状态是不合法的
- 你正在使用哪种authentication和授权scheme – 为什么?
- 如何在ASP.net/C#应用程序configuration文件值中为值添加&符号
- 使用Url.action()传递dynamicjavascript值
- 我怎样才能validation谷歌reCAPTCHA V2使用javascript / jQuery?
- ASP.NET:如何从处理程序访问会话?