1-创建一个可以启动时如果没有一个账号刚创建1个新的账号

namespace MvcCookieAuthSample.Data
{
public class ApplicationDbContextSeed
{
public async Task SeedAsync(ApplicationDbContext context, IServiceProvider service)
{
if (!context.Users.Any())
{
var _userManager= service.GetRequiredService<UserManager<ApplicationUser>>();
var user = new ApplicationUser() {
Email="qinzhb@163.com",
UserName="qinzhb",
NormalizedUserName="qinzhb"
}; var result = await _userManager.CreateAsync(user, "123456@Byd");
if (!result.Succeeded)
{
throw new Exception("初始化用户失败");
} }
}
}
}

2-增加一个扩展方法,用于启动时初始化数据库

namespace MvcCookieAuthSample
{
public static class WebHostMigrationExtensions
{
public static IWebHost MigrationDbContext<TContext>(this IWebHost host,Action<TContext ,IServiceProvider> seeder)
where TContext:DbContext
{
using (var scope = host.Services.CreateScope())
{
var service = scope.ServiceProvider;
var logger = service.GetRequiredService<ILogger<TContext>>();
var context = service.GetService<TContext>(); try
{
context.Database.Migrate();
seeder(context, service);
logger.LogInformation("执行方法数据库初始化成功"); }
catch
{
logger.LogError("执行数据库数据库初始化密码失败");
} } return host;
}
}
}

3-把上面的2方法增加到启动类中

  public static void Main(string[] args)
{
CreateWebHostBuilder(args) .Build()
.MigrationDbContext<ApplicationDbContext>((context,services)=> {
new Data.ApplicationDbContextSeed().SeedAsync(context, services).Wait();
}).Run();
}

50-Identity MVC:DbContextSeed初始化的更多相关文章

  1. 任务50:Identity MVC:DbContextSeed初始化

    任务50:Identity MVC:DbContextSeed初始化 首先添加seed 每次应用程序启动,监测一下,是否是第一次启动.如果是第一次执行,我们需要在数据库内添加一个记录 比如说我们的用户 ...

  2. 【ASP.NET Core快速入门】(十六)MVC开发:DbContextSeed初始化

    前言 由于我们现在每次EF实体模型变化的时候每次都是手动更改,我们想通过代码的方式让他自动更新,或者程序启动的时候添加一些数据进去 DbContextSeed初始化 首先,在Data文件夹下添加一个A ...

  3. 任务45:Identity MVC:注册逻辑实现

    任务45:Identity MVC:注册逻辑实现 做登陆 在注册成功直接进行登陆,使用SignIn 这里的signIn实际上是HttpContext.Signin的封装 await _signMana ...

  4. 任务46:Identity MVC:登录逻辑实现

    任务46:Identity MVC:登录逻辑实现 实现登陆的方法 退出方法 _layout里面增加如下的代码: Login.cshtml 运行代码测试: 这个地方的单词之前拼错了.这里进行修正 输入账 ...

  5. 任务47:Identity MVC:ReturnUrl实现

    任务47:Identity MVC:ReturnUrl实现 在最上面加一个私有的方法 登陆也加上returnUrl Login的post方法.加入returnUrl的参数 登陆界面也需要加上 asp- ...

  6. 任务48:Identity MVC:Model后端验证

    任务48:Identity MVC:Model后端验证 RegisterViewModel using System; using System.Collections.Generic; using ...

  7. 任务49:Identity MVC:Model前端验证

    任务49:Identity MVC:Model前端验证 前端验证使用的是jquery的validate的组件 _ValidationScriptsPartial.cshtml 在我们的layout里面 ...

  8. Spring MVC(1)Spring MVC的初始化和流程以及SSM的实现

    一.Spring MVC概述 1.Spring MVC 的架构 对于持久层而言,随着软件的发展,迁移数据库的可能性很小,所以在大部分情况下都用不到Hibernate的HQL来满足迁移数据库的要求.与此 ...

  9. asp.net core系列 50 Identity 授权(中)

    1.5 基于策略的授权 在上篇中,已经讲到了授权访问(authorization)的四种方式.其中Razor Pages授权约定和简单授权二种方式更像是身份认证(authentication) ,因为 ...

随机推荐

  1. 【Spring实战】—— 15 Spring JDBC模板使用

    前一篇通过对传统的JDBC的使用操作,可以体会到使用的繁琐与复杂,套句话说,是用了20%作了真正的工作,80%作了重复的工作. 那么通过本篇,可以了解如下的内容: 1 如何配置数据源 2 如何在spr ...

  2. python编写脚本,删除固定用户下的所有表

    脚本如下: [oracle@ycr python]$ more t_del.py #/usr/bin/python#coding:utf8 import sysimport cx_Oracle i=0 ...

  3. June 13th 2017 Week 24th Tuesday

    There are no regrets in life, just lessons. 人生中没有后悔,只有教训. Some people can learn from their past mist ...

  4. javascript 面向对象(实现继承的几种方式)

     1.原型链继承 核心: 将父类的实例作为子类的原型 缺点:  父类新增原型方法/原型属性,子类都能访问到,父类一变其它的都变了 function Person (name) { this.name ...

  5. python25 python的三目运算符

    其他语言的三目运算符大类似: 条件 ?  条件为真返回值: 条件为假返回值 python不一样: 条件为真的返回值  if  条件  else  条件为假的返回值                 或者 ...

  6. Android面试问题收集总结

    转载请标明出处: http://www.cnblogs.com/why168888/p/6405204.html 本文出自:[Edwin博客园] Android基础 View的绘制流程:自定义View ...

  7. 【字符串】跳来跳去的KMP匹配

    原理: 不给予证明啦(懒得一批 但是代码中有给还算详细的注释 参考:https://www.cnblogs.com/yjiyjige/p/3263858.html 模板题: 洛谷P3375: http ...

  8. JavaScript:直接写入 HTML 输出流

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  9. Restframework框架总结及restful规范

    1. django rest framework框架的作用? 帮助开发者可以快速开发出遵循restful规范的API 2. django rest framework框架都有哪些组件(10)? -版本 ...

  10. Django-rest-framework(二)serializers 使用

    简介 初次见到serializers文件,想必大家都会感到陌生,所以,我们不妨换个词来形容他的作用,那就是django 中的Form,这样是不是感觉熟悉了一点. 实际上,serializers 的作用 ...