Ich bin ziemlich neu in ASP.NET, speziell für ASP.NET MVC, ich muss den Registrierungsprozess ändern, indem ich das bei einem Benutzer mache erfolgreich registriert, mache ich einen INSERT in andere Tabellen in einer anderen Datenbank mit der Benutzer-E-Mail und dem Benutzernamen. Bislang habe ich noch keinen Weg gefunden, dies spezifisch zu erreichen, da andere Dinge, die ich gefunden habe, das Hinzufügen von Feldern zum Registrieren oder Ändern der Datenvalidierung sind, die ich derzeit nicht benötige.ASP.NET MVC 5 passen Benutzerregistrierung an, um eine Verbindung mit einer anderen Datenbank herzustellen
Ich habe eine Stored Procedure erstellt, die dies auch tut, aber ich weiß nicht, welcher Weg besser ist.
IdentityModel.cs
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("UsersConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
public class ZivoyDbContext : IdentityDbContext<ApplicationUser>
{
public ZivoyDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ZivoyDbContext Create()
{
return new ZivoyDbContext();
}
}
und das Konto-Controller
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
//Insert into another table
ZivoyDbContext.Users.Add();
// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
// Send an email with this link
// string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
// var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
// await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");
return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}
Ich weiß nicht einmal, wie dies zu tun, bitte jemand könnte mir erklären, wie das funktioniert? Ich habe nach MVC 5 gesucht, das mit SQL Server verbindet, aber fast alle Antworten entsprechen einem einzelnen Controller, der eine einzelne Verbindung verwendet oder ADO.NET verwendet.
Was ist Ihre eigentliche Frage? Was funktioniert nicht? – Rik
@Rik Ich weiß nicht, wie man eine Einfügung mit Benutzerdaten in eine andere Tabelle auf einer anderen Datenbank macht, der Code, den ich versuchte, tut nichts, ich habe etwas versucht, das ich an einem anderen Beispiel sah. Wo soll ich den INSERT INTO ... Teil machen? –
Überprüfen Sie dieses Tutorial - ich denke, es ist EF6 - zu sehen, ob es Ihnen hilft, Ihre Daten hinzugefügt: http://www.entityframeworktutorial.net/EntityFramework4.3/add-entity-using-dbcontext.aspx – EtherDragon