Otrzymałem błąd z wykorzystaniem tożsamości ASP.NET w mojej aplikacji.Identyfikator ASP.NET - wiele zestawów obiektów na typ nie jest obsługiwanych
Wiele zestawów obiektów na typ nie jest obsługiwanych. Zestawy obiektów "Użytkownicy tożsamości" i "Użytkownicy" mogą zawierać instancje typu "Zalecenie Platform.Models.ApplicationUser".
Widziałem kilka pytań na temat tego błędu w stackoverflow. Wszystkie wskazują na dwa obiekty DbSet tego samego typu. Ale w moim DbContext nie ma tych samych typów DbSets. Wyjątkiem w rzucony na FindAsync metoda(), podczas zalogowaniu.
if (ModelState.IsValid)
var user = await UserManager.FindAsync(model.UserName, model.Password);
if (user != null && user.IsConfirmed)
{
Problemem jest to, że nie ma dwóch DbSets tego samego typu. Moi Konteksty wyglądać tak:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
public System.Data.Entity.DbSet<RecommendationPlatform.Models.ApplicationUser> IdentityUsers { get; set; }
}
i
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; }
}
Co może być przyczyną tego problemu? Może coś związanego z wbudowanymi funkcjonalnościami ASP.NET Identity? W każdym razie, jaki jest typ użytkownika? Nie mam go w mojej aplikacji ...
Dziękuję Marcin. :) Przy okazji - bardzo fajny blog. Pozdrawia. – magos
gdzie to jest ??? –
zajrzeć IdentityModel.cs znajdziesz publicznej klasy ApplicationDbContext: IdentityDbContext Wewnątrz tym kontekście VS czasami dodaje DbSet ApplicationUsers –