Microsoft.AspNet.Identity - 自定义POCO类

时间:2013-10-20 06:29:18

标签: c# entity-framework asp.net-identity

我正在努力使用下面的代码向标准的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次迁移,并开始了一个全新的项目,但我无法解决这个错误。

有什么想法吗?

2 个答案:

答案 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