一、安装EFCode包

  EFCore需要根据不同的数据库选择不同的数据库提供程序database provider,各数据库的包地址:https://docs.microsoft.com/zh-cn/ef/core/providers/

使用sqlserver数据库使用的是Microsoft.EntityFrameworkCore.SqlServer包,支持SQL Server 2008 及以上版本

Microsoft.EntityFrameworkCore.SqlServer包依赖Microsoft.EntityFrameworkCore 和Microsoft.EntityFrameworkCore.Relational两个包

  新建Core2 Web Application (Model-View-Controller)项目,Microsoft.EntityFrameworkCore.SqlServer  已经默认安装到了 Microsoft.AspNetCore.All元包里面,不需要再次安装

二、建立实体并添加EF上下文

  给每个实体创建一个DbSet属性,每一个Dbset相当于数据库的一张表,每一个实体相当于数据库的一行

 public class EFDbContext : DbContext
{
public EFDbContext(DbContextOptions<EFDbContext> options) : base(options)
{
} public DbSet<Admin> Admins { get; set; } public DbSet<Company> Companies { get; set; }

  可以重写DbContext的OnModelCreating来指定实体对应的数据库表名,默认数据库使用实体的复数做为表名

 protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Admins>().ToTable("Admin"); }

三、在DI注册EF上下文,Startup.cs文件里面的ConfigureServices方法里面注册EF上下文

  

 public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
} public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{ services.AddDbContext<EFDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddMvc().AddJsonOptions(option =>
{
option.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
}
);
}

数据库连接配置在appsettings.json文件里面:

 "ConnectionStrings": {
"DefaultConnection": "Data Source=.\\SQLExpress;Initial Catalog=DbTest;User ID=sa;Password=sa"
},

DI会在创建控制器时,通过构造函数注入EF上下文,

 public class AdminsController : SysBaseController
{
private readonly EFDbContext _context; public AdminsController(EFDbContext context)
{
_context = context;
}

  

在ASP.NET Core 2.0 web项目中使用EntityFrameworkCore的更多相关文章

  1. 我来告诉你:VS2019开发ASP.NET Core 3.0 Web项目,修改视图后,刷新浏览器看不到修改后的效果怎么处理

    VisualStudio2019下一个2.2另一个3.0页面修改如下,但是3.0刷新没有任何变化,难道VS以后不能做前端开发了?大家可能没有看官方文档 根据文章所说你需要: 1.安装 Microsof ...

  2. 从头编写 asp.net core 2.0 web api 基础框架 (1)

    工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相 ...

  3. 从头编写 asp.net core 2.0 web api 基础框架 (3)

    第一部分:http://www.cnblogs.com/cgzl/p/7637250.html 第二部分:http://www.cnblogs.com/cgzl/p/7640077.html 之前我介 ...

  4. 【转载】从头编写 asp.net core 2.0 web api 基础框架 (3)

    Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratc ...

  5. 【转载】从头编写 asp.net core 2.0 web api 基础框架 (1)

    工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相 ...

  6. ASP.NET Core 2.0 : 三. 项目结构

    本章我们一起来对比着ASP.NET Framework版本看一下ASP.NET Core 2.0的项目结构.(此后的文章也尽量这样对比着, 方便学习理解.) 关注差异, 也为项目迁移做准备. 新建项目 ...

  7. 从头编写asp.net core 2.0 web api 基础框架 (5) + 使用Identity Server 4建立Authorization Server (7) 可运行前后台源码

    前台使用angular 5, 后台是asp.net core 2.0 web api + identity server 4. 从头编写asp.net core 2.0 web api 基础框架: 第 ...

  8. asp.net core 2.0 web api + Identity Server 4 + angular 5 可运行前后台源码

    前台使用angular 5, 后台是asp.net core 2.0 web api + identity server 4. 从头编写asp.net core 2.0 web api 基础框架: 第 ...

  9. 用VSCode开发一个asp.net core2.0+angular5项目(5): Angular5+asp.net core 2.0 web api文件上传

    第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三 ...

随机推荐

  1. docker容器中Postgresql 数据库备份

    查看运行的容器: docker ps 进入目标容器: docker exec -u root -it 容器名 /bin/bash docker 中,以root用户,创建备份目录,直接执行如下命令, p ...

  2. jq版本的checkbox有radio的单选效果(可得到value值)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>复 ...

  3. 学习之响应式Web设计---一个实例

    周末闲来无事,做了一个响应式设计的例子.当然,由此并不能窥见响应式设计真谛之一斑.但,对于初次接触响应设计,对于响应式设计的概念依旧模糊不清的同学来说,或许是个启蒙! 闲语暂且不表,进入正题,这里没有 ...

  4. hadoop运行一段时间后无法stop-all的问题

    默认配置是将datanode,namenode,jobtracker,tasktracker,secondarynamenode的pid存放在/tmp目录下, 随着linux的定期清理, 这些pid就 ...

  5. zookeeper集群操作【这里只说明简单的操作步骤,zk的相关参数、说明请参考官方文档】

      本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作.        [这里是在一台机器上搭建的 zk伪集群] 1.从官网下载下载zk http://apa ...

  6. Dockerfile文件制作自己的镜像

    1.创建空目录 $ cd /home/xm6f/dev $ mkdir myapp $ cd myapp/ 2.vim Dockerfile,内容如下: ## 一个基础的 python 运行环境 FR ...

  7. leetcode — palindrome-number

    import org.lep.leetcode.parseint.IntegerParser; /** * Source : https://oj.leetcode.com/problems/pali ...

  8. Spark2.1.0——内置Web框架详解

    Spark2.1.0——内置Web框架详解 任何系统都需要提供监控功能,否则在运行期间发生一些异常时,我们将会束手无策.也许有人说,可以增加日志来解决这个问题.日志只能解决你的程序逻辑在运行期的监控, ...

  9. .6-浅析webpack源码之validateSchema模块

    validateSchema模块 首先来看错误检测: const webpackOptionsValidationErrors = validateSchema(webpackOptionsSchem ...

  10. VSCode git Warning LF will be replaced by CRLF

    本文参考自:http://www.yulongjun.com/linux/20170518-08-lf-cr/ 我们打开Visual Studio Code编辑器,可以看到右下角有这个LF,这是VS ...