50-Identity MVC:DbContextSeed初始化
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初始化的更多相关文章
- 任务50:Identity MVC:DbContextSeed初始化
任务50:Identity MVC:DbContextSeed初始化 首先添加seed 每次应用程序启动,监测一下,是否是第一次启动.如果是第一次执行,我们需要在数据库内添加一个记录 比如说我们的用户 ...
- 【ASP.NET Core快速入门】(十六)MVC开发:DbContextSeed初始化
前言 由于我们现在每次EF实体模型变化的时候每次都是手动更改,我们想通过代码的方式让他自动更新,或者程序启动的时候添加一些数据进去 DbContextSeed初始化 首先,在Data文件夹下添加一个A ...
- 任务45:Identity MVC:注册逻辑实现
任务45:Identity MVC:注册逻辑实现 做登陆 在注册成功直接进行登陆,使用SignIn 这里的signIn实际上是HttpContext.Signin的封装 await _signMana ...
- 任务46:Identity MVC:登录逻辑实现
任务46:Identity MVC:登录逻辑实现 实现登陆的方法 退出方法 _layout里面增加如下的代码: Login.cshtml 运行代码测试: 这个地方的单词之前拼错了.这里进行修正 输入账 ...
- 任务47:Identity MVC:ReturnUrl实现
任务47:Identity MVC:ReturnUrl实现 在最上面加一个私有的方法 登陆也加上returnUrl Login的post方法.加入returnUrl的参数 登陆界面也需要加上 asp- ...
- 任务48:Identity MVC:Model后端验证
任务48:Identity MVC:Model后端验证 RegisterViewModel using System; using System.Collections.Generic; using ...
- 任务49:Identity MVC:Model前端验证
任务49:Identity MVC:Model前端验证 前端验证使用的是jquery的validate的组件 _ValidationScriptsPartial.cshtml 在我们的layout里面 ...
- Spring MVC(1)Spring MVC的初始化和流程以及SSM的实现
一.Spring MVC概述 1.Spring MVC 的架构 对于持久层而言,随着软件的发展,迁移数据库的可能性很小,所以在大部分情况下都用不到Hibernate的HQL来满足迁移数据库的要求.与此 ...
- asp.net core系列 50 Identity 授权(中)
1.5 基于策略的授权 在上篇中,已经讲到了授权访问(authorization)的四种方式.其中Razor Pages授权约定和简单授权二种方式更像是身份认证(authentication) ,因为 ...
随机推荐
- adb工具包使用方法
ADB工具包总共有四个文件,两个exe后缀,两个dll后缀.里面还带有fastboot.exe下载后在PC上安装,如安装到D:\adb_tools-2.0目录,确认目录中带有fastboot.exe文 ...
- xml 转义特殊字符
写了个request2XML的方法,每当数据中有'<'.'&'符号时,封装的XML就无法解析.发现了XML里的CDATA属性,问题迎刃而解!在XML文档中的所有文本都会被解析器解析. 只 ...
- 如何查找Fiori UI上某个字段对应的后台存储表的名称
今天微信群里有朋友问到这个问题. 如果是SAPGUI里的事务码,比如MM01,对于开发者来说这个任务非常容易完成. 比如我想知道下图"Sales Unit"这个字段的值到底保存在哪 ...
- 百度地图JavaScript开发入门先知
最近项目紧急开发了一些百度地图的功能,觉得百度地图实数强大!于是今天不忙总结一下,看到不错的文章先转载. 文章出处:https://www.opengps.cn/Blog/View.aspx?id=1 ...
- 转载:em(倍)与px的区别
转载出处:http://www.cnblogs.com/showker/archive/2010/05/24/1742821.html 在国内网站中,包括三大门户,以及“引领”中国网站设计潮流的蓝色理 ...
- What is Thread
A thread is a fundamental unit of CPU utilization –a thread ID –a program counter –a register set –a ...
- HDU 1298 T9【字典树增加||查询】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1298 T9 Time Limit: 2000/1000 MS (Java/Others) Memo ...
- Mac上传文件到Linux服务器
1. 打开 终端,选择 2.选择安全文件传输,输入连接主机IP 3.输入主机名 4.输入yes,然后输入主机密码,按回车结束 确认连接 输入远程主机密码 5.连接成功,上传文件 put 本地文件路径 ...
- SQL limit
employee 表 id name gender hire_date salary performance manage deparmant 1001 张三 男 2/12/1991 00:00:00 ...
- Unity3d实现的十字路口的模拟(三)
http://blog.csdn.net/nijiayy/article/details/45366427