Estoy jugando con EF Code First y ahora tuve problemas al implementar un MembershipProvider personalizado.MembershipUser y Entity Framework Code First
Código EF En primer lugar he creado mi propia clase de usuario de esta manera:
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; }
}
También he implementado algunas funciones de mi MembershipProvider personalizado para EF ya, pero algunos de ellos requieren ahora MembershipUser
ya sea como un parámetro o una valor de retorno
public MembershipUser GetUser(string username, bool userIsOnline)
Mi primer pensamiento fue para heredar mi clase de usuario MembershipUser
, pero luego pierde el control sobre las propiedades. ¿Eso funcionaría incluso con EF Code First?
Una idea alternativa es crear un método ToMembershipUser() para mi clase de usuario. ¿Sería eso una opción? ¿Qué debería considerar?
¿Cuál es la mejor manera de manejar esto?
Eso parece funcionar perfectamente, gracias! – magnattic
Heredé mi 'CustomUser' de' MembershipUser' y surgió el problema al guardar 'CustomUser' en la base de datos utilizando Entity Framework. Si alguien usara el código SQL, aquí está el procedimiento oficial para el usuario de membresía personalizado [Cómo: Implementar un usuario de membresía personalizado] (http://msdn.microsoft.com/en-us/library/ms366730.aspx) – twnaing
No olvide anotar la clase 'CusomUser' con la anotación de datos' [NotMapped] '. De lo contrario, recibirá el error de que 'CustomUser' no tenga la clave única. – twnaing