在 MVC5 中如何在代码中创建用户记录?

In MVC5 how can I create user records in code?

VS2013、MVC5、VB

当应用程序 运行 时,MVC5 模板可以很好地从注册视图创建新用户。但是如果我想在代码中创建用户,我该怎么做呢?

以下是简单的代码,但演示了不起作用的代码:

Dim user = New ApplicationUser() With {.UserName = "name@live.com", .Email = "name@live.com"}
Dim acct As New AccountController
acct.UserManager.CreateAsync(user, "Temp1.11")

这不起作用,因为 UserManager 没有 HttpContext。

这里发生了很多我不明白的事情,我有点迷茫。我打算做的只是使用 Configuration.vb 中的种子方法创建一个用户列表。我以为我可以复制现有 AccountController.Register 方法的工作方式,但显然不行。

我的问题的答案最终将是如何在种子中创建用户,但我还想了解为什么我的想法如此错误,只是尝试使用 Register 方法中的部分代码。我不太了解 HttpContext 以及它是如何产生的。

您不需要使用 AccountController 来访问 UserManager 对象。而是直接创建它:

Dim user = New ApplicationUser() With {.UserName = "name@live.com", .Email = "name@live.com"}
Dim myUserManager As New UserManager()
myUserManager.CreateAsync(user, "Temp1.11")