Tôi đang chơi với EF Code Đầu tiên và hiện gặp sự cố khi triển khai MembershipProvider tùy chỉnh.Mã đăng ký thành viênUser và Entity Framework Đầu tiên
Đối với EF Mã Trước tiên tôi tạo ra lớp người sử dụng riêng của tôi như thế này:
public class User
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
[Required]
public string UserName { get; set; }
[Required]
public string Password { get; set; }
[Required]
public string Email { get; set; }
[Required]
public bool IsApproved { get; set; }
public DateTime? LastLoginDate { get; set; }
public DateTime? LastActivityDate { get; set; }
[Required]
public DateTime CreationDate { get; set; }
[Required]
public string ApplicationName { get; set; }
}
Tôi cũng thực hiện một số chức năng của MembershipProvider tùy chỉnh của tôi cho EF đã có, nhưng một số trong số họ hiện nay yêu cầu MembershipUser
như hoặc là một tham số hoặc một giá trị trả lại.
public MembershipUser GetUser(string username, bool userIsOnline)
Suy nghĩ đầu tiên của tôi là để kế thừa lớp người dùng của tôi từ MembershipUser
, nhưng sau đó tôi mất kiểm soát đối với Properties. Thậm chí có thể làm việc với EF Code First không?
Ý tưởng thay thế là tạo phương thức ToMembershipUser() cho lớp người dùng của tôi. Đó có phải là một lựa chọn không? Tôi sẽ phải cân nhắc điều gì?
Cách tốt nhất để xử lý việc này là gì?
Điều đó có vẻ hoạt động hoàn hảo, cảm ơn! – magnattic
Tôi thừa hưởng 'CustomUser' từ' MembershipUser' và vấn đề nảy sinh khi lưu 'CustomUser' vào cơ sở dữ liệu bằng Entity Framework. Nếu ai đó sử dụng mã SQL, dưới đây là cách thức chính thức cho Người dùng thành viên tùy chỉnh [Cách thực hiện: Người dùng thành viên tùy chỉnh] (http://msdn.microsoft.com/en-us/library/ms366730.aspx) – twnaing
Đừng quên chú thích lớp 'CusomUser' với chú thích dữ liệu' [NotMapped] '. Nếu không, bạn sẽ gặp lỗi về 'CustomUser' không có khóa duy nhất. – twnaing