Gram z kodem EF Najpierw wpadłem w kłopoty podczas implementacji niestandardowego MembershipProvider.MembershipUser i Entity Framework Code First
EF kod najpierw tworzę własną klasę obsługi tak:
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; }
}
I wdrożone również niektóre funkcje mojego niestandardowego MembershipProvider już od EF, ale niektóre z nich wymagają teraz MembershipUser
albo jako parametr lub zwracana wartość.
public MembershipUser GetUser(string username, bool userIsOnline)
Moją pierwszą myślą było odziedziczyć moją klasę użytkownika z MembershipUser
, ale potem stracić kontrolę nad właściwości. Czy to zadziała nawet z kodem EF?
Alternatywnym pomysłem jest utworzenie metody ToMembershipUser() dla mojej klasy użytkownika. Czy to byłaby opcja? Co powinienem wziąć pod uwagę?
Jaki jest najlepszy sposób, aby sobie z tym poradzić?
To wydaje się działać idealnie, dzięki! – magnattic
Odziedziczyłem mojego 'CustomUser' z' MembershipUser', a problem powstał podczas zapisywania 'CustomUser' do bazy danych za pomocą Entity Framework. Jeśli ktoś używał kodu SQL, oto oficjalne instrukcje dla niestandardowego użytkownika MembershipUser [Jak: Implementować użytkownika z niestandardowym członkostwem] (http://msdn.microsoft.com/en-us/library/ms366730.aspx) – twnaing
Nie zapomnij opisać klasy 'CusomUser' za pomocą adnotacji danych [NotMapped]. W przeciwnym razie pojawi się błąd dotyczący 'CustomUser' bez klucza unikatowego. – twnaing