当前位置: 首页 > news >正文

EF Core入门例子(以SqLite为数据库)

测试环境:

visual studio 2017

.net core 2.1 

具体步骤如下:

1 新增名称为EFCoreDemo的.net core控制台程序,版本选择.net core 2.1,项目不能放到带中文的目录下,不然到后面执行Add-Migration命令时会报如下的错误

同时,如果这个解决方案有多个项目,一定要把当前项目设为启动项目,且程序包管理器控制台默认项目一定要选对,不然到后面执行Add-Migration命令时会报如下的错误:

2  利用Nuget安装Microsoft.EntityFrameworkCore.Sqlite,版本选择2.2.6及安装Microsoft.EntityFrameworkCore.Tools,版本选择2.2.6,如下图:

(注意:安装Microsoft.EntityFrameworkCore.Sqlite时,会把EF Core对应的依赖包Microsoft.EntityFrameworkCore等都自动安装上,不用再单独安装   ,如果数据库是Sql Server,则安装Microsoft.EntityFrameworkCore.SqlServer)

3  新增实体类Student,并编辑如下:

using System;
using System.Collections.Generic;
using System.Text;namespace EFCoreDemo
{public class Student{public long Id { set; get; }public string Name { set; get; }}
}

4  新增Student类对应的配置类StudentConfig,并编辑如下:

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Text;namespace EFCoreDemo
{public class StudentConfig : IEntityTypeConfiguration<Student>{public void Configure(EntityTypeBuilder<Student> builder){builder.ToTable("Student");}}
}

5  新增上下文类MyDbContext,并编辑如下:

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Text;namespace EFCoreDemo
{public class MyDbContext:DbContext{public DbSet<Student> Students { set; get; }protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){base.OnConfiguring(optionsBuilder);optionsBuilder.UseSqlite("Data Source=KnowledgeDataBase.sqlite;");}protected override void OnModelCreating(ModelBuilder modelBuilder){base.OnModelCreating(modelBuilder);modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);}}
}

上面的的KnowledgeDataBase.sqlite为SqLite的数据库文件名称

6  打开程序包管理控制台,
   

6.1  输入命令:Add-Migration Init,如下图:

然后会在项目中自动生成目录Migrations,并自动3个类,不要动它们,如下图:

6.2  输入命令:Update-database,会执行更新,如下图:

由于用的是SqLite数据库,会在项目中生成一个名为
KnowledgeDataBase.sqlite的数据库文件,并设置为"始终复制",如下图:

7  主程序编辑如下:

using System;
using System.Linq;namespace EFCoreDemo
{class Program{static void Main(string[] args){Student stu = new Student();stu.Name = "zxy";MyDbContext myDbContext = new MyDbContext();myDbContext.Add(stu);myDbContext.SaveChanges();var students=myDbContext.Students.Where(a => a.Name == "zxy");foreach (var item in students){Console.WriteLine($"Id:{item.Id} Name:{item.Name}");}Console.WriteLine("执行完毕");Console.ReadLine();}}
}

运行结果如下:

好了,本文的内容到此结束

相关文章:

EF Core入门例子(以SqLite为数据库)

测试环境&#xff1a; visual studio 2017 .net core 2.1 具体步骤如下&#xff1a; 1 新增名称为EFCoreDemo的.net core控制台程序&#xff0c;版本选择.net core 2.1&#xff0c;项目不能放到带中文的目录下&#xff0c;不然到后面执行Add-Migration命令时会报如下的错误…...

centos7 安装nginx

在 CentOS 7 上安装 Nginx&#xff0c;你可以选择从官方仓库&#xff08;EPEL&#xff09;安装&#xff0c;或者手动编译安装。以下是通过 EPEL 安装 Nginx 的步骤&#xff1a; 方法一&#xff1a;通过 EPEL 仓库安装 添加 EPEL 仓库&#xff1a; sudo yum install epel-relea…...

【Linux Day14 UDP网络通讯】

UDP网络通讯 UDP报文结构&#xff1a; 16位源端口&#xff1a;用于记录发送端的端口号&#xff08;占用两个字节&#xff09;16位目的端口&#xff1a;用于记录接收端的端口号&#xff08;占用两个字节&#xff09;16位UDP长度&#xff1a;确定UDP报文总长度&#xff0c;&…...

指针的深入了解6

1.回调函数 回调函数就是一个通过函数指针调用的函数。 如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另一个函数&#xff0c;当这个指针被用来调用其所指向的函数 时&#xff0c;被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用&#xff0…...

PHP之PDO_MYSQL扩展安装步骤

1&#xff0c;如果有php源码包可以不用下载&#xff0c;在 源码包下的 ext/ 下面可以找到 cd php-8.1.9/ext/pdo_mysql 2,如果存在&#xff0c;直接安装 /usr/local/php-8.1.9/bin/phpize ./configure --with-php-config/usr/local/php-8.1.9/bin/php-config make &&a…...

【pytorch】nn.linear 中为什么是y=xA^T+b

我记得读教材的时候是yWxb, 左乘矩阵W&#xff0c;这样才能表示线性变化。 但是pytorch中的nn.linear中&#xff0c;计算方式是yxA^Tb&#xff0c;其中A是权重矩阵。 为什么右乘也能表示线性变化操作呢&#xff1f;因为pytorch中&#xff0c;照顾到输入是多个样本一起算的&…...

vite打包原理

vite 工程化开发&#xff1a;打包工具 启动速度很快 核心原理还是webpack 把webpack封装了&#xff0c;把webpack对象封装了 和vue2整体结构几乎一致 webpack两种模式&#xff1a;开发&生产 代码打包编译&#xff0c;本地起一个web服务器实时预览编译后的结果 build 命令模…...

导出pdf 加密、加水印、加页脚

1.依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.10</version> </dependency> <dependency> …...

Flutter 仿抖音 TikTok 上下滑动 播放视频

Flutter 仿抖音 TikTok 上下滑动 播放视频UI框架&#xff0c;视频播放使用 video_player github&#xff1a;GitHub - PangHaHa12138/TiktokVideo: Flutter 仿抖音 TikTok 上下滑动 播放视频UI框架 实现功能&#xff1a; 1.上下滑动自动播放切换视频&#xff0c;loading 封面…...

计算机网络——网络层(2)

计算机网络——网络层&#xff08;2&#xff09; 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c; [跳转到网站](https://www.captainbed.…...

01-16Maven-SpringBoot入门

Maven继承Maven高级SpringSpringBoot入门 Maven 一、概念及功能 概念&#xff1a;Maven是Apache软件基金会组织维护的一款专门为Java项目提供项目构建和依赖管理的工具 1.1作用&#xff1a; 项目构建 构建&#xff1a;是一个将代码从开发阶段到生产阶段的一个过程&#xf…...

微信小程序(二十七)列表渲染改变量名

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.改变默认循环单元item变量名 2.改变默认循环下标index变量名 基础模板有问题可以先看上一篇 源码&#xff1a; index.wxml <view class"students"><view class"item"><te…...

k8s之安装部署及kuboard发布应用

目录 环境准备 系统规划 配置免密 将桥接的IPv4流量传递到iptables的链 系统基础配置 安装docker 安装docker及基础依赖 配置docker的仓库下载地址 部署k8s 添加阿里云的k8s源 安装kubeadm&#xff0c;kubelet和kubectl 初始化masteer节点 部署node节点 部署flanne…...

JProfiler for Mac:提升性能和诊断问题的终极工具

在当今的高性能计算和多线程应用中&#xff0c;性能优化和问题诊断是至关重要的。JProfiler for Mac 是一个强大的性能分析工具&#xff0c;旨在帮助开发者更好地理解其应用程序的运行情况&#xff0c;提升性能并快速诊断问题。 JProfiler for Mac 的主要特点包括&#xff1a;…...

力扣202-快乐数

快乐数 题目链接 解题思路&#xff1a; 两个指针&#xff0c;一快一慢&#xff0c;如果相遇&#xff0c;就会生成环如果环内元素为1,那么就可以返回 class Solution { public:int get(int n){int res 0;while(n){res (n%10) * (n%10);n / 10;}return res;}bool isHappy(int …...

牛客寒假训练营H题

思路&#xff1a;找出所有m的子集&#xff0c;加到价值中&#xff0c;找出最大价值即可。 代码&#xff1a; void solve(){int n, m;cin >> n >> m;vector<pii>a(n 1);for(int i 1;i < n;i )cin >> a[i].first >> a[i].second;int ans 0…...

ubuntu22.04@laptop 常用基础环境安装

ubuntu22.04laptop 常用基础环境安装 1. 源由2. 步骤2.1 安装ubuntu22.04 LTS系统2.2 必备软件安装2.3 基本远程环境2.3.1 远程ssh登录2.3.2 samba局域网2.3.3 VNC远程登录 2.4 开发环境安装 3. 总结 1. 源由 应朋友要求&#xff0c;整理下一个个人常用的工作笔记本常用开发环…...

Linux第41步_移植ST公司uboot的第2步_修改网络驱动_USB OTG设备树_LCD驱动_以及编译和烧写测试

移植ST公司uboot的第1步&#xff0c;创建配置文件、设备树、修改电源管理和sdmmc节点后&#xff0c;还需要进一部修改&#xff0c;如&#xff1a;网络驱动、USB OTG设备树、LCD驱动&#xff0c;以及编译和烧写测试。 一、在虚拟机中&#xff0c;使用VSCode打开my_uboot工作区 …...

瑞芯微1808模型转换(onnx到rknn)环境配置过程

瑞芯微1808模型转换&#xff08;onnx → \to →rknn&#xff09;环境配置 阅读本解决方案前&#xff0c;请读者确保已经根据官方的相关教程【rknn_model_zoo/common/rknn_converter at v1.5.0 airockchip/rknn_model_zoo (github.com)】完成其他配置文件的修改&#xff0c;以…...

测试ASP.NET Core项目调用EasyCaching的基本用法(InMemory)

EasyCaching属于开源缓存库&#xff0c;支持基本缓存方式及高级缓存用法&#xff0c;提高用户操作缓存的效率。EasyCaching支持的缓存方式包括以下类型&#xff0c;本文学习最基础的InMemory方式的基本用法。   EasyCaching.InMemory包属于基于内存的缓存库&#xff0c;使用的…...

三进制计算机:从数学理论到工程实践

1. 三进制计算机的数学基础1.1 进制效率的理论探讨在计算机科学领域&#xff0c;进制选择本质上是一个信息编码效率的问题。1948年&#xff0c;香农在他的开创性论文《通信的数学理论》中首次提出了信息熵的概念&#xff0c;这为我们理解不同进制的编码效率提供了理论基础。让我…...

9.7%年复合增长率!内容安全审查平台未来六年发展路径清晰,市场潜力凸显

在数字内容呈指数级增长、全球网络监管政策趋严的背景下&#xff0c;内容安全审查平台作为保障数字空间合规性的核心工具&#xff0c;正经历从“规则驱动”向“AI智能驱动”的范式转型。据恒州诚思调研统计&#xff0c;2025年全球市场规模达179.3亿元&#xff0c;预计至2032年将…...

Grafici-GFX:Arduino嵌入式数据可视化轻量库

1. Grafici-GFX 库概述&#xff1a;面向嵌入式显示终端的数据可视化引擎Grafici-GFX 是一个专为 Arduino 平台设计的轻量级数据可视化库&#xff0c;其核心定位并非通用图形渲染&#xff0c;而是在资源受限的微控制器上实现高效、可配置的数据曲线绘制与状态呈现。该库不直接操…...

从0到1学会使用PageHelper

本文的思维导图为什么我们需要PageHelper?想象一下&#xff0c;你经营着一家餐厅&#xff0c;有顾客要点菜了&#xff0c;就比如&#xff1a;“鱼香肉丝”&#xff0c;你要把菜端给顾客。这时候&#xff0c;你要怎么把菜给顾客呢(如何把数据展示给前端)&#xff1f;你有三个解…...

避坑!这些毕设太好抄了,3000+毕设案例推荐第1038期

381、基于Java的对外公告智慧管理系统的设计与实现(论文&#xff0b;代码&#xff0b;PPT)对外公告智慧管理系统主要功能包括&#xff1a;会员管理、公告管理、审核任务、审核节点、审核日志、回复管理、通知管理、通知接收者、工作流管理、组织机构、消息推送、消息推送接收者…...

深入解析C语言位运算与操作符

目录 1. 原码&#xff0c;反码&#xff0c;补码 2. 移位操作符 2.1 左移操作符 2.2 右移操作符 3. 位操作符&#xff1a;&&#xff0c;|&#xff0c;^&#xff0c;~ 3.1 按位与&#xff1a;& 3.2 按位或&#xff1a;| 3.3 按位异或&#xff1a;^ 3.4 按位取反&…...

零基础入门ai开发:在快马平台用openclaw tavily打造你的第一个智能搜索应用

作为一个刚接触AI开发的新手&#xff0c;最近我在InsCode(快马)平台上尝试用OpenClaw Tavily API做了一个智能搜索小工具&#xff0c;整个过程比想象中简单很多。今天就把这个入门经验分享给大家&#xff0c;希望能帮助同样想尝试AI应用开发的朋友少走弯路。 为什么选择Tavily …...

深度学习中的池化层:原理、实现与优化策略

1. 池化层的基本概念与作用 第一次听说"池化层"这个词时&#xff0c;我脑海中浮现的是游泳池的画面。但深度学习中的池化层可比游泳池有趣多了——它是卷积神经网络(CNN)中的关键组件&#xff0c;就像一位精明的数据压缩师。想象你正在看一张高清照片&#xff0c;当你…...

从一张手机照片到4K电影:图解‘位深度’和‘图像大小’是怎么算出来的

从手机照片到4K电影&#xff1a;解码位深度与图像大小的数学之美 当你用手机拍下一张照片&#xff0c;或是观看一部4K电影时&#xff0c;屏幕上的每一个像素背后都隐藏着一套精密的数学逻辑。这些看似简单的色彩和画面&#xff0c;实际上是由无数个数字精心编织而成的视觉盛宴。…...

【深度解析】二维半导体晶体管:突破摩尔定律的下一代集成电路核心

1. 二维半导体晶体管的崛起&#xff1a;摩尔定律的终结者&#xff1f; 当硅基芯片的制程工艺逼近1纳米物理极限时&#xff0c;整个集成电路行业都在寻找"后硅时代"的突破口。我第一次在实验室见到二硫化钼&#xff08;MoS2&#xff09;晶体管时&#xff0c;那片厚度不…...