Entity Framework 6, MVC5, ASP Identity 2.0.Impossibile inserire il valore NULL nella colonna "Discriminator", tabella "... AspNetUsers"; la colonna non consente null. INSERT fallisce
Sono nuovo a Entity framework e ASP Identity. Ho creato un database con l'approccio Code First, seguendo queste istruzioni: http://dotnetcodr.com/2014/07/10/introduction-to-entityframework-6-part-1-the-basics-of-code-first/ e applicandole di conseguenza al mio progetto.
I tavoli sono stati creati, tutto bene. Ma quando sto provando a registrare un nuovo utente, viene lanciata un'eccezione: "Entity Framework 6, Identità ASP. Impossibile inserire il valore NULL nella colonna" Discriminator ", tabella" ... AspNetUsers "; la colonna non consente i null. non riesce." Innescato con il metodo CreateAsync entro AccountController
Linea 153: {
Linea 154: user var = new ApplicationUser {username = model.Email, e-mail = model.Email};
Riga 155: var result = attende UserManager.CreateAsync (user, model.Password);
Linea 156: if (result.Succeeded)
Linea 157: {
io non sono nemmeno sicuro che parte del codice che ho dovuto incollare qui.
Ecco il mio 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; }
}
Ed ecco contesto identità predefinita:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("BulkMailerContext", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
non ho trovato molte informazioni su questa eccezione.
Questo post http://forums.asp.net/t/1974183.aspx?Cannot+insert+the+value+NULL+into+column+Discriminator suggerisce che il progetto ha una classe, ereditata dall'utente. Non ho niente del genere.
Questo 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 è di circa il progetto di Web API e team di Microsoft dicono che è un bug, e saranno risolvere il problema, per quanto ho capito
Questo Cannot insert the value NULL into column 'Discriminator' AspNetUsers Table non offre alcuna soluzione
questo Web API 2 cannot register user suggerisce che in Identity 2.0 questo è stato risolto, ma ho Identity 2.0 attualmente
Ho migrazioni automatiche - spente, se è importante. Ma ho aggiornato db manualmente dalla console PM con il comando update-database.
Tutti i suggerimenti sono benvenuti.
l'entità del destinatario eredita da ApplicationUser? – tmg
No, sono diversi. Sto costruendo un mailer di massa. ApplicationUser - è l'utente che ha effettuato l'accesso. Destinatario - è solo una tabella con indirizzi e-mail e nomi - per l'invio di massa. – Lera
hai aggiunto qualche proprietà in ApplicationUser? se è così, puoi incollare anche quel codice? – tmg