我正在努力使用下面的代码向标准的ApplicationUser对象添加一些字段。我已成功运行迁移,我可以看到数据库方案已使用数据库中的新字段进行更新。我按照http://go.microsoft.com/fwlink/?LinkID=317594
上的教程进行了操作public class ApplicationUser : User
{
public string LegacyPassword { get; set; }
public DateTime DateCreated { get; set; }
public bool Activated { get; set; }
}
我遇到的问题是,当我尝试执行注册时,例如:
var u = new Test.Models.ApplicationUser() { UserName = userName, DateCreated = System.DateTime.Now, PassHash = "" };
IdentityResult result = manager.Users.CreateLocalUser(u, Password.Text);
当CreateLocalUser()执行...时,我收到以下错误:
mscorlib.dll中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理
其他信息:无法找到EntityType'Test.Models.ApplicationUser'的映射和元数据信息。
我尝试重新创建大约5/6次迁移,并开始了一个全新的项目,但我无法解决这个错误。
有什么想法吗?
答案 0 :(得分:0)
如果您使用VS2013版本中的版本,请更改如下。
public class ApplicationUser : User
到
public class ApplicationUser : IdentityUser
答案 1 :(得分:0)
在Visual Studio 2013的RC版本中生成的项目中会发生此错误。
转到你的项目nuget包文件夹,你会发现包括EntityFramework在内的很多都是RC版本。
将所有nuget软件包更新到最新版本将解决问题。 (请注意,将需要更改一些代码)。
编辑:还需要安装Microsoft.AspNet.Identity.EntityFramework
。