4

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

有任何想法吗?

4

2 回答 2

0

如果您使用的是 VS2013 版本的版本,请进行如下更改。

public class ApplicationUser : User

public class ApplicationUser : IdentityUser

于 2013-10-20T08:22:02.583 回答
0

在 Visual Studio 2013 的 RC 版本中生成的项目中会发生此错误。

转到您的项目 nuget 包文件夹,您会注意到其中很多包括 EntityFramework 都是 RC 版本。

将所有 nuget 包更新到最新版本将解决问题。(请注意,需要更改一些代码)。

编辑:Microsoft.AspNet.Identity.EntityFramework还需要安装。

于 2013-11-27T17:49:49.877 回答