2013-10-20 116 views
4

我很努力地將下面的代碼添加到標準ApplicationUser對象的幾個字段。我已經成功運行Migrations,並且我可以看到數據庫方案使用數據庫中的新字段進行更新。我跟着教程在http://go.microsoft.com/fwlink/?LinkID=317594Microsoft.AspNet.Identity - 自定義POCO類

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'的異常,但未在用戶代碼中處理

其他信息ion:EntityType'Test.Models.ApplicationUser'找不到映射和元數​​據信息。

我嘗試重新創建約5/6次的遷移並開始一個全新的項目,但我無法通過這個錯誤。

任何想法?

+0

我認爲它可能無法映射到繼承的User類的UserName屬性等屬性,請檢查該類型映射的語法(即User.UserName = ...)。 – nocturns2

+0

這個問題在RC版本中很奇怪。問題在RTM中消失了...... –

回答

0

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

public class ApplicationUser : User

public class ApplicationUser : IdentityUser

+0

我已經將您的答案添加爲正確。我正在使用RC1,這個問題似乎在最終得到解決。 –

0

發生在已在RC版本的Visual Studio 2013年

轉到您的項目中的NuGet包文件夾中生成項目,這個錯誤,你會注意到其中的很多包括EntityFramework都是RC版本。

將所有nuget軟件包更新到最新版本將解決該問題。 (請注意,需要更改一些代碼)。

編輯:安裝Microsoft.AspNet.Identity.EntityFramework也是必需的。