实体框架 6、MVC5、ASP 身份 2.0。
我是实体框架和 ASP 身份的新手。我按照以下说明使用 Code First 方法创建了数据库:http: //dotnetcodr.com/2014/07/10/introduction-to-entityframework-6-part-1-the-basics-of-code-first/ 并将它们相应地应用于我自己的项目。
表已创建,一切正常。但是当我尝试注册新用户时,抛出异常:“实体框架 6,ASP 身份。无法将值 NULL 插入到列 'Discriminator',表 '...AspNetUsers';列不允许空值。插入失败。” 由 AccountController 中的 CreateAsync 方法触发
第 153 行:{
第 154 行:var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
第 155 行:var result = await UserManager.CreateAsync(user, model.Password);
第 156 行:如果(结果。成功)
第 157 行:{
我什至不确定我应该在这里粘贴哪一部分代码。
这是我的 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; }
}
这是默认的身份上下文:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("BulkMailerContext", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
我没有找到有关此异常的太多信息。
这篇文章 http://forums.asp.net/t/1974183.aspx?Cannot+insert+the+value+NULL+into+column+Discriminator 表明项目有一个类,继承自 User。我没有那样的东西。
这篇文章 https://connect.microsoft.com/VisualStudio/feedback/details/800655/calling-new-user-with-4-5-1-does-not-pass-column-discriminator-required-in-aspnetusers-表格 是关于 Web API 项目的,微软团队说这是一个错误,他们会修复它,据我所知
这个 不能将值 NULL 插入“鉴别器”列 AspNetUsers 表 不提供任何解决方案
这个 Web API 2 无法注册用户 建议在 Identity 2.0 中这已得到修复,但我目前有 Identity 2.0
我有自动迁移 - 如果重要,请关闭。但是我已经使用 update-database 命令从 PM 控制台手动更新了 db。
欢迎任何建议。