EFCore2.1中DbFirst和CodeFirst简单使用
EFCore中没有DbFirst了吧,应该都是Code First
先说说第一种,Code First From Database(DbFirst)数据库先行,这种方式就要命令行了...(特不喜欢命令行。。):
1.建好项目后通过 NuGet 安装所需依赖性:
()Microsoft.EntityFrameworkCore
()Microsoft.EntityFrameworkCore.Design
()Microsoft.EntityFrameworkCore.SqlServer
()Microsoft.EntityFrameworkCore.SqlServer.Design
()Microsoft.EntityFrameworkCore.Tools
可以右键项目通过管理NuGet程序包的方式安装,也可以通过命令安装(找到VS工具栏 ---> NuGet 包管理器 ---> 程序包管理控制台):
注意选择默认项目
Install-package Microsoft.EntityFrameworkCore
Install-package Microsoft.EntityFrameworkCore.Tools
Install-package Microsoft.EntityFrameworkCore.Design
Install-package Microsoft.EntityFrameworkCore.SqlServer
Install-package Microsoft.EntityFrameworkCore.SqlServer.Design
然后复制,粘贴,看到已用时间:xxxxxxx即可,
然后继续在程序包管理控制台再输入:
Scaffold-DbContext -Connection "Server=.;Database=EFCoreDemo;uid=sa;pwd=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir "Models"
-OutputDir "Models" 可不写,EFCore中只能通过命令生成了,不能像以前EF6一样可以鼠标操作生成了,如果加上了则会在项目中添加models文件夹,生成的context和实体类都放到models文件夹中,如不加,实体则直接生成到项目中

最后在控制台测试一下
再试试第二种熟悉的Code First(代码先行,跟以前EF几乎是一模一样),还是比较熟悉这个
前面步骤都是一样的,建好项目,安装依赖包,不过code first好像需要安装两个依赖包就可以了
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore
编写Studnet和Classinfo实体类


然后在编写context上下文类,需要继承DbContext
public class CodeFirstContext : DbContext
{
public CodeFirstContext()
{ }
public CodeFirstContext(DbContextOptions options) : base(options)
{ }
public DbSet<Student> Student { get; set; }
public DbSet<ClassInfo> ClassInfo { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlServer("Server=.;Database=EFCoreCodeFirst;uid=sa;pwd=123");
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{ }
}

基本上跟Ef6差不多的,写好之后测试一下就OK了:
using (CodeFirstContext db = new CodeFirstContext())
{
db.Database.EnsureCreated(); //数据库不存在则创建,存在则不管
db.Add(new ClassInfo { ClassName = "软件二班" });
var result = db.SaveChangesAsync().Result;
Console.WriteLine(result > ? "成功了" : "失败了"); }
EFCore2.1中DbFirst和CodeFirst简单使用的更多相关文章
- EF CodeFirst系列(1)---CodeFirst简单入门
1.什么是CodeFirst 从EF4.1开始,EF可以支持CodeFirst开发模式,这种开发模式特别适用于领域驱动设计(Domain Driven Design,大名鼎鼎的DDD).在CodeFi ...
- CodeFirst简单演示的步骤
CodeFirst简单演示的步骤 创建实体类[Student] public class Student { public long Id { get; set; } public string Na ...
- Deferred在jQuery和Angular中的使用与简单实现
Deferred在jQuery和Angular中的使用与简单实现 Deferred是在jQuery1.5版本中加入的,并且jQuery使用它完全重写了AJax,以前也只是偶尔使用.但是上次在使用Ang ...
- java中Color类的简单总结
java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...
- Linux 中 Vi 编辑器的简单操作
Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi filename //打开或新 ...
- ASP.net中导出Excel的简单方法介绍
下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat=&quo ...
- spring注解开发中常用注解以及简单配置
一.spring注解开发中常用注解以及简单配置 1.为什么要用注解开发:spring的核心是Ioc容器和Aop,对于传统的Ioc编程来说我们需要在spring的配置文件中邪大量的bean来向sprin ...
- 浏览器中 F12 功能的简单介绍
chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己也在不断摸索中,查看一些博客和资料后,自己总结了一下来帮助自己理解和记忆,也希望能帮到有需要的小伙伴,嘿嘿! 首 ...
- Oracle中对XMLType的简单操作(extract、extractvalue...)
Oracle中对XMLType的简单操作(extract.extractvalue...) 1.下面先创建一个名未test.xml的配置文件. <?xml version="1. ...
随机推荐
- STL基础3:map
#include <iostream> #include <map> #include <string> using namespace std; #define ...
- SpringMVC 学习 九 SSM环境搭建 (二) Spring配置文件的编写
spring配置文件中需要干的事情 (一)开启 Service与pojo包的注解扫描 注意:spring 扫描与表对应的实体类,以及service层的类,不能用来扫描Controller层的类,因为 ...
- ServiceDesk Plus服务管理软件,减轻帮助台负荷,提高IT效率
- IDEA导入MySQL包
点击[Project Structure] 点击[Modules] 在点击下面的界面 找到自己下载的MySQL包就OK了
- c# 产生随机数 程序所在路径
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- pageshow和pagehide事件
Firefox和opera有一个特性,往返缓存:可以在用户使用浏览器的后退和前进按钮时加快页面的转换速度,这个缓存不仅保存了页面的数据,还有DOM和JavaScript的状态. 为了更形象的说明bfc ...
- 2.3.4volatile的原子性
关键字volatile虽然增加了实例变量在多个线程之间的可见性,但它却不具备同步性,那么也不具备原子性. 测试 package com.cky.thread; /** * Created by edi ...
- 7-12 How Long Does It Take
Given the relations of all the activities of a project, you are supposed to find the earliest comple ...
- Android自定义视图一:扩展现有的视图,添加新的XML属性
这个系列是老外写的,干货!翻译出来一起学习.如有不妥,不吝赐教! Android自定义视图一:扩展现有的视图,添加新的XML属性 Android自定义视图二:如何绘制内容 Android自定义视图三: ...
- MV人物抹去
填充为背景 Music Video is one type of Video Processing.视频剪辑反向复原:视频图像分类:TensorFlow图像分类教程 改起个什么名字 视频分类数据集 ...