本文所使用的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创建数据库的更多相关文章

  1. EF CodeFirst 创建数据库

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    话说EF支持三种模式:Code First   M ...

  2. 使用EF CodeFirst 创建数据库

    EntityFramework 在VS2015添加新建项时,选择数据->ADO.NET 实体数据模型,有一下选项 来自数据库的EF设计器,这个就是我们最常用的EntityFramework设计模 ...

  3. ASP.NET Core 2.2 WebApi 系列【二】使用EF CodeFirst创建数据库

    Code First模式 Code First是指"代码优先"或"代码先行". Code First模式将会基于编写的类和配置,自动创建模型和数据库. 一.准备 ...

  4. 03、NetCore2.0下Web应用之搭建最小框架

    03.NetCore2.0下Web应用之搭建最小框架 这里我们不使用VS2017或者CLI命令的方式创建Asp.Net Core 2.0网页应用程序,而是完全手工的一点点搭建一个Web框架,以便更好的 ...

  5. EF自动创建数据库步骤之三(自定义数据库初始器)

    EF自动创建数据库需要我们告诉数据库如何进行初始化:如创建表后是否需要插入一些基础数据,是否 需要创建存储过程.触发器等.还有就是EF有三种初始化方式(参见下面三个类): DropCreateData ...

  6. EF自动创建数据库步骤之一(实体类写法)

    文章演示使用EF自动创建数据库第一个步骤创建实体类. 一.创建表映射实体类 using System; using System.Collections.Generic; using System.C ...

  7. EF CodeFirst生成数据库到Sqlserver中

    EF CodeFirst简单实例这篇文章介绍了如何用EF去快速生成数据库.但是这个并没有生成到sqlserver中,总觉得不爽.下面就来讲一下,如何将数据库生成到sqlserver中. 按照EF Co ...

  8. EF自动创建数据库步骤之二(继承DbContext类)

    创建好表实体类后,接着就是创建数据库上下文(继承DbContext)并将实体类添加进来. 代码示例如下: using DBClientEntity; using System; using Syste ...

  9. 04、NetCore2.0下Web应用之Startup源码解析

    04.NetCore2.0Web应用之Startup源码解析   通过分析Asp.Net Core 2.0的Startup部分源码,来理解插件框架的运行机制,以及掌握Startup注册的最优姿势. - ...

随机推荐

  1. 1.使用RNN做MNIST分类

    第一次用LSTM,从简单做起吧~~ 注意事项: batch_first=True 意味着输入的格式为(batch_size,time_step,input_size),False 意味着输入的格式为( ...

  2. Ubuntu16.04下Hadoop的本地安装与配置

    一.系统环境 os : Ubuntu 16.04 LTS 64bit jdk : 1.8.0_161 hadoop : 2.6.4 部署时使用的用户名为hadoop,下文中需要使用用户名的地方请更改为 ...

  3. Beta(6/7)

    鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...

  4. WinForm 水晶报表的简单使用

    今天需要做出一个水晶报表, 以前在学校的时候就看过一点点,有些印象, 但没有具体的了解过,今天百度了一下,发现这个东西相当的方便简单. 还很完美. 开发工具是VS2010,水晶报表没有内置.需要自己下 ...

  5. Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)

    Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁.偏向锁) Java 并发编程 ...

  6. 小甲鱼Python第十七讲课后习题

    笔记: 1.分清楚形参和实参 2.函数文档:是函数的一部分,于解释不同,使用help(函数名)或者 函数名__doc__可以查看到 3.关键字参数(在一个函数的参数较多的时候作用比较明显): 给参数的 ...

  7. webpack之带有可自动打开浏览器及热重载的基本配置

    什么是Webpack WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并 ...

  8. GMA Round 1 新年的复数

    传送门 新年的复数 已知$\left\{\begin{matrix}A>B>0\\ AB=1\\ (A+B)(A-B)=2\sqrt{3}\end{matrix}\right.$ 求$(A ...

  9. Windows系统maven安装配置

    Apache Maven是一个软件项目管理工具,基于项目对象模型(Project Object Model,即POM)的概念,Maven可用来管理项目的依赖.编译.文档等信息.使用Maven管理项目时 ...

  10. HttpClient学习--HttpClient的POST请求过程源码解读

    众所周知,HttpClient是对JDK net包下网络相关操作的一个封装,所以阅读的前提待知道HttpClient底层肯定是通过Socket来进行网络通信的. 下面来简单的捋一下代码,在进入繁杂.深 ...