표준 MVC 등록 양식 (즉 전자 메일 필드)에서 값을 삽입하려고합니다.이 테이블은 기본 키이며 다른 테이블의 FK가됩니다. 학생 테이블에 이메일 만 포함되어 있으므로 등록시 제출 된 값 (이메일 필드)을 aspnetusers 테이블에 삽입하고 싶습니다. 지금까지이 코드를 작성했습니다 :aspnetuser에 삽입하고 일부 값을 다른 테이블에 삽입하십시오.
var student = new Student { email = model.Email };
이 값을 할당 한 후
db.Students.Add(student);
db.SaveChanges();
이 작업을 수행하기 위해, 나는이 등록 컨트롤러에서 이루어집니다 가정합니다. 내가 잘못된 섹션에 배치했는지 알려주십시오. 나는 현재 아래
참조하시기 바랍니다 코드를 얻고있다 : student.email는 FK 경우
AccountController.cs
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var student = new Student { email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
string callbackUrl = await SendEmailConfirmationTokenAsync(user.Id, "Confirm your account");
ViewBag.Message = "Check your email and confirm your account, you must be confirmed "
+ "before you can log in.";
db.Students.Add(student);
db.SaveChanges();
return View("Info");
//return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}
Student.cs을
public class Student
{
[Key, ForeignKey("User")]
public string email { get; set; }
public virtual ApplicationUser User { get; set; }
}
을 나는'당신이 표시되지 않습니다 student.User ='아무 데나. –
[Primary and Foreign Key Constraints] (https://msdn.microsoft.com/en-GB/library/ms179610.aspx)도 참조하십시오. – Liam