Entity Framework 6, MVC5, ASP Identity 2.0.Nie można wstawić wartości NULL do kolumny "Discriminator", tabela "... AspNetUsers"; kolumna nie zezwala na wartości null. INSERT kończy się niepowodzeniem.
Jestem nowy w strukturze Entity i ASP Identity. Utworzyłem bazę danych z podejściem Code First, wykonując następujące instrukcje: http://dotnetcodr.com/2014/07/10/introduction-to-entityframework-6-part-1-the-basics-of-code-first/ i stosując je odpowiednio do mojego własnego projektu.
Stoły zostały utworzone, wszystko w porządku. Ale gdy próbuję zarejestrować nowego użytkownika, generowany jest wyjątek: "Entity Framework 6, ASP Identity. Nie można wstawić wartości NULL do kolumny" Discriminator ", tabela" ... AspNetUsers ", kolumna nie zezwala na wartości null. zawiedzie. " wyzwalane metodą CreateAsync ciągu AccountController
linii 153: {
Linia 154 var user = nowy ApplicationUser {username = model.Email, E = model.Email};
Linia 155: var result = oczekuje na UserManager.CreateAsync (user, model.Password);
Linia 156: if (result.Succeeded)
Linia 157: {
Nie jestem nawet pewien, która część kodu należy wkleić tutaj.
Oto moja DbContext:
public class BulkMailerContext : IdentityDbContext<ApplicationUser>
{
public BulkMailerContext()
: base("BulkMailerContext", throwIfV1Schema: false)
{
}
public DbSet<Email> Emails { get; set; }
public DbSet<SubscriptionList> SubscriptionLists { get; set; }
public DbSet<Recipient> Recipients { get; set; }
}
I tu jest domyślny kontekst Tożsamość:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("BulkMailerContext", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
nie znalazłem wiele informacji na temat tego wyjątku.
Ten wpis http://forums.asp.net/t/1974183.aspx?Cannot+insert+the+value+NULL+into+column+Discriminator sugeruje, że projekt ma klasę dziedziczącą po User. Nie mam czegoś takiego.
Ten post https://connect.microsoft.com/VisualStudio/feedback/details/800655/calling-new-user-with-4-5-1-does-not-pass-column-discriminator-required-in-aspnetusers-tables jest o projekcie API Web i zespołu Microsoft powiedział, że to błąd, a oni go naprawić, o ile mam go
Ten Cannot insert the value NULL into column 'Discriminator' AspNetUsers Table nie oferuje żadnego rozwiązania
Ten Web API 2 cannot register user sugeruje, że w Identity 2.0 zostało to ustalone, ale mam Identity 2.0 obecnie
Mam automatyczne migracje - wyłączone, jeśli to ma znaczenie. Ale zaktualizowałem bazę danych ręcznie z konsoli PM za pomocą komendy update-database.
Wszelkie sugestie w ogóle są mile widziane.
Twoja encja odbiorcy dziedziczy z ApplicationUser? – tmg
Nie, są różne. Buduję masowy program pocztowy. ApplicationUser - jest zalogowanym użytkownikiem. Odbiorca - to tylko tabela z adresami e-mail i nazwami - do masowej wysyłki. – Lera
czy dodałeś jakąś właściwość w ApplicationUser? jeśli tak, czy możesz też wkleić ten kod? – tmg