我看到與this問題相同的問題,但在該處顯示的方案似乎不適用,因此我認爲我有不同的問題。事實上,我看到了幾個類似的問題,每個問題都有不同的原因和解決方案,所以我認爲這個錯誤必須由高層次引起。這說...實體類型IdentityUser不是當前上下文的模型的一部分
我有一個EF代碼優先的數據庫模型,我試圖用IdentityUser
來擴展我的MVC 5網站的標準註冊。
我有我的擴展UserModel
:
namespace MyMvcSite.Models {
public class UserModel :IdentityUser {
public string BillingId { get; set; }
public virtual ICollection<DatabaseModel> Databases { get; set; }
}
我的背景:
using MyMvcSite.Models;
namespace MyMvcSite.Web {
public class AuthContext : IdentityDbContext<UserModel> {
public AuthContext() : base("AuthContext") {
}
}
}
現在,當我執行的代碼以註冊用戶:
public async Task<IdentityResult> RegisterUser(UserModel user) {
user.Email = user.UserName;
var result = await _userManager.CreateAsync(user);
return result;
}
我得到的錯誤:The entity type IdentityUser is not part of the model for the current context.
我無法弄清楚這個錯誤的含義,因爲它看起來 - 對我來說 - l艾克我擁有一切正確的。任何人都可以告訴可能會出錯嗎?
我知道我的connectionString AuthContext
是正確的,因爲我之前使用過它。
你如何實例化你的'_userManager'及其'context'?這似乎可能有所幫助:http://stackoverflow.com/questions/23893710/the-entity-type-applicationuser-is-not-part-of-the-model-for-the-current-context – 2014-10-06 01:06:54
我的_userManager '初始化爲:'_userManager = new UserManager(新的UserStore (_ ctx));'。我把它改成了'_userManager = new UserManager (新的UserStore (_ctx));',它解決了它!發佈這個答案,我會接受。感謝您指點我正確的方向! –
Brett
2014-10-06 01:23:19