ASP.NET标识创建帐户

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

我正在使用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 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>();