ASP.NET标识创建帐户
我正在使用ASP.NET MVC 5.0 EF 6.0和Identity 1.0构建一个应用程序 我有一个种子函数,目前运行成功,并将“教师”等各种数据插入数据库。我想扩展seed函数,这样当我创建一个新教师时,它也会在AspNetUsers表中创建一个新的用户帐户 我在文件“SampleData.cs”中尝试了以下代码:ASP.NET标识创建帐户,asp.net,asp.net-mvc,asp.net-identity,Asp.net,Asp.net Mvc,Asp.net Identity,我正在使用ASP.NET MVC 5.0 EF 6.0和Identity 1.0构建一个应用程序 我有一个种子函数,目前运行成功,并将“教师”等各种数据插入数据库。我想扩展seed函数,这样当我创建一个新教师时,它也会在AspNetUsers表中创建一个新的用户帐户 我在文件“SampleData.cs”中尝试了以下代码: using System.Collections.Generic; using System.Linq; using System.Data.Entity; using Ob
using System.Collections.Generic;
using System.Linq;
using System.Data.Entity;
using Oberhofen.EdNow.Data.Models;
using Oberhofen.EdNow.Model.Models;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using System;
namespace Oberhofen.EdNow.Data
{
public class EdNowSampleData : DropCreateDatabaseIfModelChanges<EdNowEntities>
{
private UserManager<ApplicationUser> userManager;
protected override void Seed(EdNowEntities context)
{
// Create a new Account.
string UserName = "wallock";
string Password = "Password";
var user = new ApplicationUser { UserName = UserName, Email = "zzzz@gmail.com" };
var result = userManager.Create(user, Password);
var userId = user.Id;
// Create new Teachers.
var teachers = new List<Teacher>
{
new Teacher { FirstName = "Walter", LastName = "Lockhart", PersonTypeId=2, UserId=userId }
};
teachers.ForEach(tchr => context.Teachers.Add(tchr));
context.Commit();
}
}
}
我得到以下例外情况:
Microsoft.AspNet.Identity.Core.dll>中发生“System.ArgumentNullException”类型的异常,但未在用户代码中处理。
值不能为null。
参数名称:manager
请有人告诉我,我的代码中遗漏了什么,可能会导致此异常
提前谢谢
问候
Walter在输入结果之前,您应该执行以下操作:
userManager = new UserManager<ApplicationUser>();
userManager=newusermanager();
或者在声明中将其设置为
null
。userManager
为null。您还没有实例化它。感谢rikitikitik和Robert P。这是我最后的工作代码:UserManager\u UserManager=newusermanager(newuserstore(context));用户=新应用程序用户(){UserName=“walterlockhart”,电子邮件=“zzzz@gmail.com" }; IdentityResult result=_userManager.Create(用户,“密码”);
userManager = new UserManager<ApplicationUser>();