首先用vs2019创建一个.net core项目
可以是控制台应用程序,也可以是asp.net core项目

如果你使用控制台应用程序, 则可以在Main方法中直接使用EF Core进行CRUD操作。这通常用于测试或开发时快速进行数据库操作。

如果你使用ASP.NET Core应用程序, 则可以在控制器中使用EF Core进行CRUD操作。这通常用于在Web应用程序中与用户交互时进行数据库操作。

在任何情况下, 都需要创建一个DbContext类, 并使用它来进行数据库操作。

这篇先以控制台应用程序举例

以下是具体步骤:

1.创建一个新的控制台应用程序项目。

2.在项目中添加EF Core依赖项。可以使用以下命令在包管理器控制台中安装EF Core包(同时可以安装MySQL连接器包以及EF Core设计时(Design-Time)组件包):

Install-Package Microsoft.EntityFrameworkCore.Design -Version 3.0.0Install-Package Pomelo.EntityFrameworkCore.MySql -Version 3.0.0Install-Package Microsoft.EntityFrameworkCore -Version 3.0.0

3.在项目中创建一个实体类。例如Blog:

using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApp2
{public class Blog{public int Id { get; set; }public string Url { get; set; }}
}

4.创建一个DbContext类, 并将实体类映射到数据库中的表。例如:

using Microsoft.EntityFrameworkCore;namespace ConsoleApp2
{public class MyDbContext : DbContext{public DbSet<Blog> Blogs { get; set; }public MyDbContext(DbContextOptions<MyDbContext> options): base(options){}public MyDbContext(){}protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseMySql("Server=localhost;Database=mydatabase;User=root;Password=123456;");}}}

5.在Main方法中, 使用EF Core进行CRUD操作。例如, 以下代码演示了如何使用EF Core在数据库中插入一条记录:

using System;namespace ConsoleApp2
{class Program{static void Main(string[] args){using (var context = new MyDbContext()){// Insertvar blog = new Blog { Url = "http://sample.com" };context.Blogs.Add(blog);context.SaveChanges();// Updateblog.Url = "http://updated.com";context.Blogs.Update(blog);context.SaveChanges();// Delete//               context.Blogs.Remove(blog);//               context.SaveChanges();}}}
}

6.创建数据库迁移

Add-Migration

可以给这个迁移起一个名字或者编号

7.将未应用的迁移应用到数据库

这里使用迁移命令

Update-Database

他会根据DbContent的内容创建数据库mydatabase和表blogs

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseMySql("Server=localhost;Database=mydatabase;User=root;Password=123456;");
//mydatabase}
        public DbSet<Blog> Blogs { get; set; }
//blogs

8.运行项目


blogs表按照Main函数的内容被更改



主要问题就是版本适配,因为使用的是.net core3.1,所以找适配的EF Core MySQL连接器包以及EF Core设计时(Design-Time)组件包版本花费了点时间

https://longsheng.org/post/17239.html

通过一个测试项目了解EF CORE相关推荐

  1. [翻译 EF Core in Action 2.1] 设置一个图书销售网站的场景

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  2. 用ASP.NET Core MVC 和 EF Core 构建Web应用 (一)

    系统必备 .NET Core 2.0.0 SDK 或更高版本. 已安装 ASP.NET 和 Web 开发工作负载的 Visual Studio 2017 15.3 版或更高版本. 创建Web应用程序 ...

  3. 教你10分钟对接人大金仓EF Core 6.x

    [导读]目前.NET Core中据我了解到除了官方的EF Core外,还用的比较多的ORM框架(恕我孤陋寡闻哈,可能还有别的)有FreeSql.SqlSugar(排名不分先后). FreeSql和Sq ...

  4. EF Core与ASP.NET Core 的集成

    目录 一.分层项目中EF Core的用法 二.使用"上下文池"时要谨慎 三.案例:批量注册上下文 一.分层项目中EF Core的用法 在编写简单的演示案例的时候,我们通常会把项目的 ...

  5. EF Core中高效批量删除、更新数据的Zack.EFCore.Batch发布三个新特性

    Zack.EFCore.Batch是一个支持在Entity Framework Core中高效删除和更新数据的开源库.我们知道,EF Core中不支持高效的删除和更新数据,所有的更新和操作都是逐条数据 ...

  6. ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First

    ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库. Entity Frame ...

  7. ef 多个左联接查询_.NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记...

    2.4.5 EF Core -- 查询 关联数据加载 客户端与服务端运算 跟踪与不跟踪 复杂查询运算 原生 SQL 查询 全局查询筛选器 关联数据加载 学员和助教都在项目分组中,调整模型,删除 Ass ...

  8. ef core mysql 生成迁移失败_EF Core 数据库迁移(Migration)

    标签: 工具与环境介绍 1.开发环境为vs 2015 场景 设计两张表 用户表(user)和发帖表(user) 一个用户对应多个用户 Coding Begin 1.新建项目(新建一个空console项 ...

  9. ABP EF Core多数据库支持

    ABP官方Demo中提供了在EF Core中如何实现多数据库支持的例子,但Demo说明文档中对于要做哪些修改没做说明,所以本文在此做下说明. 首先要说明的是(我这边通过官方模板生成时输入的项目名称为T ...

最新文章

  1. potainer 日志_实时Web日志分析神器
  2. linux Hadoop HDFS NameNode进程重启脚本(linux进程通用)
  3. 循序渐进看Java web日志跟踪(2)-Java日志API认识
  4. 不会吸引人的JavaDocs源样本
  5. html-css练习题(天天生鲜静态网页制作)文末有完整版代码地址链接
  6. Android如何给无法更改继承关系的Activity更换ActionBar(setContentView方法实战)
  7. 给你的Linux把把脉(内存、磁盘、CPU、网络)
  8. 外设驱动库开发笔记39:按键操作驱动
  9. Java 数组排序及元素查找
  10. Java笔记-JSP初步研究
  11. mysql中使用正则表达式,mysql中使用正则表达式查询
  12. java通信rs485_基于VB6.0与485仪表的Modbus RTU通信(含代码)
  13. Java-java.util.concurrent.locks.AbstractQueuedSynchronizer
  14. 【C语言】实现对一个8 bit数据(unsigned char类型)的指定位(例如第n位)的置0或者置1操作,并保持其他位不变。
  15. Ubuntu 用vsftpd 配置FTP服务器教程详解
  16. 神经网络训练ai玩游戏,人工神经网络入门
  17. 个人不良资产如何处置?个人不良资产有妙招
  18. FPGA中usb-blaster驱动的安装
  19. 2021-09-09 文献阅读 Predicting circRNA-disease associations based on autoencoder and graph embedding
  20. Phaser知识点总结

热门文章

  1. 基于weka的数据挖掘开发技术分析研究
  2. 基于大数据的保险商业模式
  3. 695. 岛屿的最大面积(适合 初学者 理解的java版BFS)
  4. wcdma码片速率_WCDMA中码片速率、符号速率、bit速率 WCDMA常用概念
  5. 张家界协力学校计算机班,张家界协力学校交通顽瘴痼疾整治见成效
  6. 我用Python爬取了妹子网100G的套图
  7. 计算机大赛提交文件自制,【获奖分享】第十九届全国电脑制作大赛获奖心得
  8. 2021年安全员-A证(山东省-2021版)最新解析及安全员-A证(山东省-2021版)模拟试题
  9. Webfrom --中国直辖市三区联动
  10. 一条命令导出电脑中所有wifi账号密码