Tôi thấy cùng một vấn đề với câu hỏi this, nhưng kịch bản được trình bày dường như không áp dụng vì vậy tôi nghĩ rằng tôi có vấn đề khác. Trong thực tế, tôi thấy một số câu hỏi về SO tương tự nhau, mỗi câu hỏi với các nguyên nhân và giải pháp khác nhau, vì vậy tôi nghĩ rằng lỗi này phải được gây ra từ mức cao. Điều đó nói rằng ...Loại thực thể IdentityUser không phải là một phần của mô hình cho ngữ cảnh hiện tại
Tôi có một mô hình cơ sở dữ liệu mã đầu tiên của EF và tôi đang cố gắng sử dụng IdentityUser
để mở rộng đăng ký chuẩn cho trang web MVC 5 của tôi.
Tôi có tôi mở rộng UserModel
:
namespace MyMvcSite.Models {
public class UserModel :IdentityUser {
public string BillingId { get; set; }
public virtual ICollection<DatabaseModel> Databases { get; set; }
}
Và bối cảnh của tôi:
using MyMvcSite.Models;
namespace MyMvcSite.Web {
public class AuthContext : IdentityDbContext<UserModel> {
public AuthContext() : base("AuthContext") {
}
}
}
Bây giờ, khi tôi thực thi mã đăng ký một user:
public async Task<IdentityResult> RegisterUser(UserModel user) {
user.Email = user.UserName;
var result = await _userManager.CreateAsync(user);
return result;
}
tôi nhận được lỗi: The entity type IdentityUser is not part of the model for the current context.
Tôi không thể hiểu được lỗi này có nghĩa là gì, vì có vẻ - với tôi - l Tôi có mọi thứ chính xác. Bất cứ ai có thể nói những gì có thể sẽ sai?
Tôi biết kết nối của mìnhString AuthContext
là chính xác vì trước đây tôi đã sử dụng nó.
Làm thế nào để bạn nhanh chóng '_userManager' và nó' context' của bạn? Điều này có vẻ như nó có thể giúp: http://stackoverflow.com/questions/23893710/the-entity-type-applicationuser-is-not-part-of-the-model-for-the-current-context –
My '_userManager 'đã được khởi tạo thành:' _userManager = new UserManager (new UserStore (_ ctx)); Tôi đã thay đổi nó thành '_userManager = new UserManager (new UserStore (_ctx));', đã giải quyết nó! Đăng câu trả lời này và tôi sẽ chấp nhận. Cám ơn đã chỉ tôi hướng đi đúng! –
Brett