博客
关于我
entity framework core在独立类库下执行迁移操作
阅读量:411 次
发布时间:2019-03-06

本文共 1074 字,大约阅读时间需要 3 分钟。

之前学习EFCore的时候,都是在VS创建的默认模板里面进行的,按照官方文档,直接就可以搞定。

今天新项目准备上.Net Core,打算先按照国际惯例,进行分层,数据访问层是用EFCore来做,于是就单独把这层放到一个类库里面

1.添加引用

第二个和第三个库是必须要添加的,如果你不用命令迁移除外。。。。。

2.打开程序包管理控制台

Add-Migration intidb

然后就会发现报错了

No database provider has been configured for this DbContext. A provider can be configured by overriding the DbContext.OnConfiguring method or by using AddDbContext on the application service provider. If AddDbContext is used, then also ensure that your DbContext type accepts a DbContextOptions<TContext> object in its constructor and passes it to the base constructor for DbContext.

大致意思就是找不到数据库连接,因为按照正常情况下,我们的数据库连接会在StartupConfigureServices里面读取,但是独立的类库执行命令的时候,是不会执行到Startup命令的。

找到原因就好办了,重写一下DbContextOnConfiguring方法

 

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)        {            optionsBuilder.UseSqlServer(                "Data Source=.;Initial Catalog=dbname;Integrated Security=False;Persist Security Info=False;User ID=sa;Password=123456");        }

 

然后重新执行

Add-Migration intidb

然后执行

Update-Database -Verbose

打开数据库就能看到EFCore自动生成的数据库了

 

转载地址:http://grtkz.baihongyu.com/

你可能感兴趣的文章
Nginx服务器---正向代理
查看>>
Nginx服务器上安装SSL证书
查看>>
Nginx服务器基本配置
查看>>
Nginx服务器的安装
查看>>
Nginx标准配置文件(包括反向代理、大文件上传、Https证书配置、文件预览等)
查看>>
Nginx模块 ngx_http_limit_conn_module 限制连接数
查看>>
Nginx模块 ngx_http_limit_req_module 限制请求速率
查看>>
nginx添加模块与https支持
查看>>
nginx状态监控
查看>>
Nginx用户认证
查看>>
Nginx的location匹配规则的关键问题详解
查看>>
Nginx的Rewrite正则表达式,匹配非某单词
查看>>
Nginx的使用总结(一)
查看>>
Nginx的使用总结(三)
查看>>
Nginx的使用总结(二)
查看>>
Nginx的可视化神器nginx-gui的下载配置和使用
查看>>
nginx的平滑升级方法:
查看>>
Nginx的是什么?干什么用的?
查看>>
nginx看这一篇文章就够了
查看>>
Nginx知识详解(理论+实战更易懂)
查看>>