C# 如何将数据发送到预生成的Asp.net数据库?
我正在使用Visual Studio 2015。我想在已经预生成的Asp.net数据库中添加名和姓。这些列在数据库中。我已经在RegisterViewModel中添加了C# 如何将数据发送到预生成的Asp.net数据库?,c#,asp.net-mvc,visual-studio,C#,Asp.net Mvc,Visual Studio,我正在使用Visual Studio 2015。我想在已经预生成的Asp.net数据库中添加名和姓。这些列在数据库中。我已经在RegisterViewModel中添加了 public class RegisterViewModel { [Required] [Display(Name = "First Name")] public string FirstName { get; set; } [Required] [Display(Name ="Last
public class RegisterViewModel
{
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name ="Last Name")]
public string LastName { get; set; }
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { 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; }
}
这是我的控制器,我几乎没有修改过
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
//string EncodedResponse = Request.Form["g-Recaptcha-Response"];
//bool IsCaptchaValid=(ReCaptcha.Validate(EncodedResponse)=="True" ? true: false);
//if (IsCaptchaValid)
//{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
user.FirstName = model.FirstName;
user.LastName = model.LastName;
[HttpPost]
[异名]
[ValidateAntiForgeryToken]
公共异步任务寄存器(RegisterViewModel模型)
{
if(ModelState.IsValid)
{
//字符串EncodedResponse=Request.Form[“g-Recaptcha-Response”];
//bool IsCaptchaValid=(ReCaptcha.Validate(EncodedResponse)=“真”?真:假);
//if(IsCaptchaValid)
//{
var user=newapplicationuser{UserName=model.Email,Email=model.Email};
var result=await UserManager.CreateAsync(用户、模型、密码);
user.FirstName=model.FirstName;
user.LastName=model.LastName;
等等…我不确定为什么FirstName和LastName没有被发送到数据库。我认为这是一种方法,我也看到了其他方法,但我不确定。一旦我理解了这一点,并使其正常工作,我应该会很好。谢谢。将控制器更改为这样做:
var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName };
var result = await UserManager.CreateAsync(user, model.Password);
创建用户后,您将添加第一个和第二个名称。将分配移动到
UserManager.CreateAsync