NetCore2.0下使用EF CodeFirst创建数据库
本文所使用的VS版本:VS2017 15.3.0
首先新建一个.net core项目 取名NetCoreTask

使用模型视图控制器方式

新建Model层

在Model层下新建一个user实体类
1 namespace XX.Model
2 {
3 public class tb_User
4 {
5 public string ID { get; set; }
6 public string UserName { get; set; }
7 public DateTime CreateTime { get; set; }
8 }
9 }
新建一个Service层 在下面新建一个dbContext类
1 namespace XX.Service
2 {
3 public class XDbContext : DbContext
4 {
5 public XDbContext(DbContextOptions<XDbContext> options) : base(options)
6 {
7
8 }
9 public DbSet<tb_User> UserExtend { get; set; }
10 protected override void OnModelCreating(ModelBuilder modelBuilder)
11 {
12 base.OnModelCreating(modelBuilder);
13 }
14 }
15 }
在Web项目下的appsettings.json文件中添加数据库连接字符串,添加后如下:
1 {
2 "ConnectionStrings": {
3 "XConnection": "Server=127.0.0.1;Database=XCoreDb;User ID=sa;Password=123456"
4 },
5 "Logging": {
6 "IncludeScopes": false,
7 "LogLevel": {
8 "Default": "Warning"
9 }
10 }
11 }
接下来修改 Web项目下的Startup中的ConfigureServices方法,修改后如下:
1 public void ConfigureServices(IServiceCollection services)
2 {
3 services.AddDbContext<XDbContext>(options =>
4 options.UseSqlServer(Configuration.GetConnectionString("XConnection")));
5 services.AddMvc();
6 }
配置工作已经完成,接下来我们使用控制台命令生成数据库 FirstMigration这个名字是随便起的(定位在Service项目下)
PM> Add-Migration FirstMigration
果不其然报错了

这是因为我们的Web项目和Service没有什么关系,添加Web项目对Service项目的引用后继续

成功了!
我们发现Service项目下多了一个文件夹

但是我们发现在Designer.cs这个文件中有一个错误

这是因为我们没有添加 Microsoft.EntityFrameworkCore.SqlServer 这个引用
添加后,继续执行Update-Database -Verbose 命令
1 PM> Update-Database -Verbose

出现这个就是成功了。

数据库创建成功!
最后的项目结构图:

.NetCore2.0下使用EF CodeFirst创建数据库
标签:img level framework 结构 time image startup spa override
原文:http://www.cnblogs.com/xx2oo8/p/7660352.html
NetCore2.0下使用EF CodeFirst创建数据库的更多相关文章
- EF CodeFirst 创建数据库
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 话说EF支持三种模式:Code First M ...
- 使用EF CodeFirst 创建数据库
EntityFramework 在VS2015添加新建项时,选择数据->ADO.NET 实体数据模型,有一下选项 来自数据库的EF设计器,这个就是我们最常用的EntityFramework设计模 ...
- ASP.NET Core 2.2 WebApi 系列【二】使用EF CodeFirst创建数据库
Code First模式 Code First是指"代码优先"或"代码先行". Code First模式将会基于编写的类和配置,自动创建模型和数据库. 一.准备 ...
- 03、NetCore2.0下Web应用之搭建最小框架
03.NetCore2.0下Web应用之搭建最小框架 这里我们不使用VS2017或者CLI命令的方式创建Asp.Net Core 2.0网页应用程序,而是完全手工的一点点搭建一个Web框架,以便更好的 ...
- EF自动创建数据库步骤之三(自定义数据库初始器)
EF自动创建数据库需要我们告诉数据库如何进行初始化:如创建表后是否需要插入一些基础数据,是否 需要创建存储过程.触发器等.还有就是EF有三种初始化方式(参见下面三个类): DropCreateData ...
- EF自动创建数据库步骤之一(实体类写法)
文章演示使用EF自动创建数据库第一个步骤创建实体类. 一.创建表映射实体类 using System; using System.Collections.Generic; using System.C ...
- EF CodeFirst生成数据库到Sqlserver中
EF CodeFirst简单实例这篇文章介绍了如何用EF去快速生成数据库.但是这个并没有生成到sqlserver中,总觉得不爽.下面就来讲一下,如何将数据库生成到sqlserver中. 按照EF Co ...
- EF自动创建数据库步骤之二(继承DbContext类)
创建好表实体类后,接着就是创建数据库上下文(继承DbContext)并将实体类添加进来. 代码示例如下: using DBClientEntity; using System; using Syste ...
- 04、NetCore2.0下Web应用之Startup源码解析
04.NetCore2.0Web应用之Startup源码解析 通过分析Asp.Net Core 2.0的Startup部分源码,来理解插件框架的运行机制,以及掌握Startup注册的最优姿势. - ...
随机推荐
- SQL反模式学习笔记15 分组
目标:查询得到每组的max(或者min等其他聚合函数)值,并且得到这个行的其他字段 反模式:引用非分组列 单值规则:跟在Select之后的选择列表中的每一列,对于每个分组来说都必须返回且仅返回一直值. ...
- java_ATM_GUI
Test 界面: import java.awt.Menu; import java.io.BufferedReader; import java.io.File; import java.io.Fi ...
- teamviewer连接未就绪的解决(Manjaro Linux)
放假回家,想设置一下teamviewer,结果一直报错"TeamViewer not ready. Please check your connection" 查了一通,发现这个方 ...
- 20172328 2018-2019《Java软件结构与数据结构》第六周学习总结
20172328 2018-2019<Java软件结构与数据结构>第六周学习总结 概述 Generalization 本周学习了第十章:非线性集合与数据结构--树.主要讨论了树的使用和实现 ...
- LeetCode题解 | 215. 数组中的第K个最大元素
在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 ...
- css清浮动与动态计算元素宽度
css常用清浮动写法 /*清除浮动*/| .clears:after{ display: block; content: ''; clear: both; height: ; visibility: ...
- centos7-- sbt的安装使用
sbt是一款类似于maven的构建工具 安装sbt curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo mv bintray- ...
- JS的string操作
1. charAt();如果想获取字符编码,则:charCodeAt(); var stringValue ="hello world"; alert(stringValue.ch ...
- 总结:极光推送java服务端(1)
遇到的问题: 1.怎么用极光推送 2.极光推送发送失败报错 返回{ } 3.透传和推送区别以及怎么设置 我的解决方案: 问题1.极光推送类里面有不同的方法,需要发给那些人就调用相应的方法.有安卓.io ...
- python 配置文件返回的两种方式,写法不一样而已
配置文件如下: [MODE]mode:{ "register":"all"} 或者 mode = {"register":"all ...