Ich versuche, einen Wert aus dem Standard-MVC-Registrierungsformular (nämlich das E-Mail-Feld) einfügen, dies wird der Primärschlüssel und FK in einer anderen Tabelle sein. Meine Schüler-Tabelle enthält nur E-Mails. Ich möchte denselben Wert (E-Mail-Feld) eingeben, der bei der Registrierung in der Tabelle aspnetusers übergeben wird. Ich diesen Code geschrieben haben bisher:Einfügen in aspnetuser und Einfügen von Werten in eine andere Tabelle
var student = new Student { email = model.Email };
den Wert zuweisen und dann
db.Students.Add(student);
db.SaveChanges();
die Aktion auszuführen, ich nehme an, dies in der Registrierung Controller erfolgt. Bitte geben Sie an, wenn ich es in den falschen Bereich platziert habe. Ich bin derzeit immer ein
Bitte siehe Code unten:
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; }
}
ich Sie nicht sehen, tun ' student.User = "überall. –
Versuchen Sie auch, lesen [Primäre und Fremdschlüssel Einschränkungen] (https://msdn.microsoft.com/en-GB/library/ms179610.aspx) – Liam