mam problem z utworzyć pola niestandardowego w UserProfile
table.likeAsp.net MVC 4, jak korzystać z niestandardowego pola WebSecurity.createUserAndAccount
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public int? AddressId { get; set; }
public int? UserDetailId { get; set; }
public string UserName { get; set; }
public UserDetail UserDetail { get; set; }
}
public class RegisterModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
public virtual UserDetail UserDetail { get; set; }
}
public class UserDetail
{
public int Id{get;set;}
public string FirstName{get;set;}
public string LastName{get;set;}
}
I ja również dodaje UserDetail
do DbContext
klasa
public DbSet<UserDetail> UserDetails{get;set;}
problem jest wtedy, gdy używam
Web WebSecurity.CreateUserAndAccount(model.UserName, model.Password,
new { UserDetail = new UserDetail()
}, false);
to ALW ays zawiera błąd podobny do: Brak odwzorowania z typu obiektu ... Ale jeśli zdefiniuję prosty typ (jak string
, int
) zamiast UserDetail
, to działa dobrze.
Ktoś może mi pomóc rozwiązać ten problem? Dziękuję bardzo!!
jestem testowania kodu, ale mówi mój kontekst nie zawierają definicji dla UserProfile lub UserDetails! Czy mamy dodać coś do naszego kontekstu db? Utknąłem z tym też! – Ciwan
@Ciwan zobacz edytuj w odpowiedzi – Komengem
Dzięki, udało mi się ominąć problem, który miałem, jednak otrzymuję 'null' w tej linii' var userProfile = context.UserProfiles.SingleOrDefault (u => u.UserName == model.UserName); "jakikolwiek powód? Kiedy sprawdzam Db, nazwa użytkownika została utworzona, ale tabela UserDetails jest pusta, oczywiście dlatego, że ta linia zwraca wartość null. – Ciwan