通过一个测试项目了解EF CORE
首先用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相关推荐
- [翻译 EF Core in Action 2.1] 设置一个图书销售网站的场景
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- 用ASP.NET Core MVC 和 EF Core 构建Web应用 (一)
系统必备 .NET Core 2.0.0 SDK 或更高版本. 已安装 ASP.NET 和 Web 开发工作负载的 Visual Studio 2017 15.3 版或更高版本. 创建Web应用程序 ...
- 教你10分钟对接人大金仓EF Core 6.x
[导读]目前.NET Core中据我了解到除了官方的EF Core外,还用的比较多的ORM框架(恕我孤陋寡闻哈,可能还有别的)有FreeSql.SqlSugar(排名不分先后). FreeSql和Sq ...
- EF Core与ASP.NET Core 的集成
目录 一.分层项目中EF Core的用法 二.使用"上下文池"时要谨慎 三.案例:批量注册上下文 一.分层项目中EF Core的用法 在编写简单的演示案例的时候,我们通常会把项目的 ...
- EF Core中高效批量删除、更新数据的Zack.EFCore.Batch发布三个新特性
Zack.EFCore.Batch是一个支持在Entity Framework Core中高效删除和更新数据的开源库.我们知道,EF Core中不支持高效的删除和更新数据,所有的更新和操作都是逐条数据 ...
- 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 ...
- ef 多个左联接查询_.NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记...
2.4.5 EF Core -- 查询 关联数据加载 客户端与服务端运算 跟踪与不跟踪 复杂查询运算 原生 SQL 查询 全局查询筛选器 关联数据加载 学员和助教都在项目分组中,调整模型,删除 Ass ...
- ef core mysql 生成迁移失败_EF Core 数据库迁移(Migration)
标签: 工具与环境介绍 1.开发环境为vs 2015 场景 设计两张表 用户表(user)和发帖表(user) 一个用户对应多个用户 Coding Begin 1.新建项目(新建一个空console项 ...
- ABP EF Core多数据库支持
ABP官方Demo中提供了在EF Core中如何实现多数据库支持的例子,但Demo说明文档中对于要做哪些修改没做说明,所以本文在此做下说明. 首先要说明的是(我这边通过官方模板生成时输入的项目名称为T ...
最新文章
- potainer 日志_实时Web日志分析神器
- linux Hadoop HDFS NameNode进程重启脚本(linux进程通用)
- 循序渐进看Java web日志跟踪(2)-Java日志API认识
- 不会吸引人的JavaDocs源样本
- html-css练习题(天天生鲜静态网页制作)文末有完整版代码地址链接
- Android如何给无法更改继承关系的Activity更换ActionBar(setContentView方法实战)
- 给你的Linux把把脉(内存、磁盘、CPU、网络)
- 外设驱动库开发笔记39:按键操作驱动
- Java 数组排序及元素查找
- Java笔记-JSP初步研究
- mysql中使用正则表达式,mysql中使用正则表达式查询
- java通信rs485_基于VB6.0与485仪表的Modbus RTU通信(含代码)
- Java-java.util.concurrent.locks.AbstractQueuedSynchronizer
- 【C语言】实现对一个8 bit数据(unsigned char类型)的指定位(例如第n位)的置0或者置1操作,并保持其他位不变。
- Ubuntu 用vsftpd 配置FTP服务器教程详解
- 神经网络训练ai玩游戏,人工神经网络入门
- 个人不良资产如何处置?个人不良资产有妙招
- FPGA中usb-blaster驱动的安装
- 2021-09-09 文献阅读 Predicting circRNA-disease associations based on autoencoder and graph embedding
- Phaser知识点总结
热门文章
- 基于weka的数据挖掘开发技术分析研究
- 基于大数据的保险商业模式
- 695. 岛屿的最大面积(适合 初学者 理解的java版BFS)
- wcdma码片速率_WCDMA中码片速率、符号速率、bit速率 WCDMA常用概念
- 张家界协力学校计算机班,张家界协力学校交通顽瘴痼疾整治见成效
- 我用Python爬取了妹子网100G的套图
- 计算机大赛提交文件自制,【获奖分享】第十九届全国电脑制作大赛获奖心得
- 2021年安全员-A证(山东省-2021版)最新解析及安全员-A证(山东省-2021版)模拟试题
- Webfrom --中国直辖市三区联动
- 一条命令导出电脑中所有wifi账号密码