gpt4 book ai didi

c# - Asp.net mvc 4 如何使用带有自定义字段的 WebSecurity.createUserAndAccount

转载 作者:可可西里 更新时间:2023-11-01 08:21:56 24 4
gpt4 key购买 nike

我在 UserProfile table.like 中创建自定义字段时遇到问题

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;}
}

而且我还在 DbContext 类中添加了 UserDetail

  public DbSet<UserDetail> UserDetails{get;set;}

问题是当我使用

Web  WebSecurity.CreateUserAndAccount(model.UserName, model.Password, 
new { UserDetail = new UserDetail ()
}, false);

它总是会出现一些错误,例如:对象类型不存在映射...但如果我定义一个简单类型(如 stringint)而不是 UserDetail,它工作正常。

谁能帮我解决这个问题?非常感谢!!

最佳答案

我遇到了与此类似的问题,并通过以下方式解决了它:

沿着这条线将 UserDetail 和 UserProfile 结合起来:

public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string FirstName{get;set;}
public string LastName{get;set;}
}

更新您的 [HttpPost] 注册

WebSecurity.CreateUserAndAccount(model.UserName, model.Password, 
propertyValues: new { FirstName= model.FirstName, LastName = model.LastName}, false);

不要忘记根据需要将新字段添加到您的 RegisterModel

public class RegisterModel
{
....
public string FirstName{get;set;}
public string LastName{get;set;}
}

希望这对你有用

关于c# - Asp.net mvc 4 如何使用带有自定义字段的 WebSecurity.createUserAndAccount,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15357686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com