C# .NET EF框架 webapi 安装使用sqlite

news2024/11/30 14:47:42

文章目录

  • Sqlite安装使用
    • Sqlite特点
    • 环境安装
    • EF 是什么?
    • EF使用
      • 举例
    • Nuget控制台

Sqlite安装使用

Sqlite特点

Sqlite是轻量级数据库,不需要安装,跨平台使用。是用来做小软件,小项目,快速移植的最优解。不需要像mysql和Sqlserver一样先进行安装数据库,再进行使用。

环境安装

Net.Core =6.0

项目文件

在这里插入图片描述

  • EF.Sqlite: Sqlite轻量级数据库,不需要安装,只需要引入Nuget包

在这里插入图片描述

  • EF.Tool:数据库转移工具,.Net默认Sqlserver。这个是转移数据库管理对象,从Sqlserver转移到sqlite

在这里插入图片描述

  • EF框架引入

在这里插入图片描述

EF 是什么?

EF是ORM实体关系数据库,什么是ORM?简单来说ORM就是我们程序运行的对象和数据库存储的对象是一致的。数据库只是我们运行的数据持久化的一个地方。数据库就是一个超级大,持久化的对象数组。

举例

程序 数据库 新建实体对象 实体对象进行修改 存储持久化,Id自增 查询数据库,返回符合的对象数组 程序 数据库

EF使用

新建两个文件

  • DbContext.cs:数据库对应类,用于进行sql操作
  • DtName.cs:数据表对应类,用于设计数据表对应的字段,Id不需要

举例

数据库:MyToDoDbContext,继承DbContext

using Microsoft.EntityFrameworkCore;

namespace MyToDo.Api.Context
{
    public class MyToDoContext:DbContext
    {
        public MyToDoContext(DbContextOptions<MyToDoContext> options):base(options)
        {//继承DbContext建库方法
            
        }
        public DbSet<ToDo> ToDo { get; set; }


    }
}



数据表对应实体:ToDo类

namespace MyToDo.Api.Context
{
    public class ToDo 
    {
        public string Title { get; set; }

        public string Content { get; set; }

        public int Status { get; set; }
    }
}

在json中添加数据库连接串

在这里插入图片描述

在这里插入图片描述

{
  "ConnectionStrings": {
    "ToDoConnection": "Data Source=to.do"
  },
  ...
}

在Program中设置,引用sqlite

在这里插入图片描述

在这里插入图片描述

builder.Services.AddDbContext<MyToDoContext>(options =>
{
//这个是我们在appsettings.json里面添加的数据库连接串
    var connectionStr = builder.Configuration.GetConnectionString("ToDoConnection");

    options.UseSqlite(connectionStr);
});

Nuget控制台

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
Nuget管理工具默认项目选择WebApi项目

在这里插入图片描述

我们在控制台中输入代码:Add-Migration MyToDo(你的管理器名称)

在这里插入图片描述
再输入Update-Database

在这里插入图片描述

如果你报了这个错误,记得看一下你的配置名字对不对的上

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
我们这里新建了一个数据库,那就是创建成功了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/625768.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Verilog基础:表达式中的整数常量(integer)

相关文章 Verilog基础&#xff1a;表达式位宽的确定&#xff08;位宽拓展&#xff09; Verilog基础&#xff1a;表达式符号的确定 Verilog基础&#xff1a;数据类型 Verilog基础&#xff1a;位宽拓展和有符号数运算的联系 Verilog基础&#xff1a;case、casex、ca…

chatgpt赋能python:Python如何Input一个字典:详细教程

Python 如何 Input 一个字典&#xff1a;详细教程 在 Python 中&#xff0c;字典是一种非常有用的数据结构。它可以存储键值对&#xff0c;让我们能够通过键访问值。Python 中没有固定的语法来创建字典&#xff0c;因此本文将教你如何输入一个字典。 什么是字典&#xff1f; …

chatgpt赋能python:Python语言中的Pandas库介绍

Python语言中的Pandas库介绍 Python语言是一种十分流行的编程语言&#xff0c;以其易读易写等特点而受到工程师和数据科学家的青睐。在Python语言中&#xff0c;有一款非常流行的数据处理和分析库&#xff0c;也就是Pandas库。Pandas库在数据处理和分析方面有着出色的表现&…

iOS开发最佳实践|集成声网SDK实现语音聊天室

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c; 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。&#x1f60a; 座右铭&#xff1a;不想当开发的测试&#xff0c;不是一个好…

初探Sharding-JDBC订单表分片实现

设计订单系统有两个数据库db_order_01和db_order_02。每个数据库分别有t_order_0和t_order_1两张订单表。 订单表设计有订单ID(order_id)&#xff0c;用户ID(user_id)&#xff0c;商户ID(merchant_id)。假设商户查看订单操作要比用户查看订单的操作更加频繁。避免商户查询订单时…

NLP学习笔记五-simple RNN

NLP学习笔记五-simple RNN 我这个学习笔记&#xff0c;感兴趣的小伙伴&#xff0c;看的时候尽量从头开始看&#xff0c;这样更好理解&#xff0c;也更有收获。 simple RNN的单元结构图如下&#xff1a; 其中A就是我们需要学习的参数矩阵&#xff0c; h t − 1 h_{t-1} ht−1​…

【MySQL数据库 | 第十五篇】事务

目录 前言&#xff1a; 介绍事务&#xff1a; 控制事务&#xff1a; 事务四大特性&#xff1a; 并发事务问题&#xff1a; 事务隔离级别&#xff1a; 总结: 前言&#xff1a; 这章我们将进入到MySQL基础篇的最后一章&#xff1a;事务&#xff0c;希望大家可以坚持下去&#xf…

车间如何做好“生产计划”,打造高效运营的智能工厂

新形势下&#xff0c;面对外部不断变化的市场需求、供应链下游企业管理升级需求以及持续上涨的人力成本&#xff0c;传统工厂模式必须要变革才能更好地发展。热潮之下&#xff0c;企业纷纷规划建设智能工厂。那么&#xff0c;新工厂规划如何避免投入浪费&#xff0c;少走弯路&a…

Linux——进程间通信,信号量的使用+小demo(C语言)

一.什么是信号量呢&#xff1f;用途又是什么呢&#xff1f; 信号量就是解决进程之间竞争资源的情况&#xff0c;比如&#xff1a;我们在宿舍用的公共洗衣机&#xff0c;我们只有当它空闲的时候&#xff0c;我们才可以去使用它&#xff0c;当别人看到洗衣机在使用的时候&#xf…

LVS负载均衡群集部署(DR模式)

一.DR模式 LVS负载均衡群集部署 ipvsadm 工具选项说明&#xff1a; 工具选项作用-A添加虚拟服务器-D删除整个虚拟服务器-s指定负载调度算法&#xff08;轮询&#xff1a;rr、加权轮询&#xff1a;wrr、最少连接&#xff1a;lc、加权最少连接&#xff1a;wlc&#xff09;-a表示…

clickhouse-MergeTree

创建建表语句 create table t_order_mt(id UInt32,sku_id String,total_amount Decimal(16,2),create_time Datetime ) engine MergeTreepartition by toYYYYMMDD(create_time)primary key (id)order by (id,sku_id); 插入测试数据 insert into t_order_mt(id,sku_id,total_…

chatgpt赋能python:Python数据分析必备工具:Pandas

Python数据分析必备工具&#xff1a;Pandas Python作为一门流行的编程语言&#xff0c;广泛应用于数据科学领域。而Pandas作为Python语言下的数据分析库&#xff0c;被广泛地应用于数据处理、数据分析、数据可视化等方面。本文将介绍如何快速地入门Pandas并进行数据分析。 什…

《统计学习方法》——逻辑斯谛回归与最大熵模型(下)

最大熵模型 极大似然估计 下面证明对偶函数的极大化等价于最大熵模型的极大似然估计。 极大似然估计的思想就是通过概率最大化来求出最符合的分类。对应的步骤为&#xff1a; 根据训练集&#xff0c;写出不同分类下的概率函数将不同分类下的概率函数进行汇总&#xff0c;写…

[hsctf 2023] crypto,pwn,rev部分

刚完了天津又来个衡水,这个大部分题比较简单,最后两天整了3个crypto有点意思. crypto double-trouble 给了密文 Hvwg gvcizr bch ps hcc vofr. Wb toqh, W kwzz uwjs wh hc mci fwuvh bck! Hvs tzou wg hvs tczzckwbu: OmqemdOubtqdeMdqOaax Vcksjsf, wh wg sbqcrsr gc mci …

刷脸登录(人工智能)

刷脸登录 理解刷脸登录的需求 理解刷脸登录的开发流程实现刷脸登录功能 浅谈人工智能 人工智能的概述 人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门…

chatgpt赋能python:Python怎么下pip:简单又方便的工具

Python怎么下pip&#xff1a;简单又方便的工具 Python 是一门广泛应用的高级编程语言&#xff0c;它设计的初衷是让程序员更加愉悦地编写代码&#xff0c;同时提供了多种强大的库和框架。其中&#xff0c;pip 是最为常见的第三方包管理工具&#xff0c;本文将为你介绍如何下载…

uniapp实现主题切换功能实现第一种方式(scss变量+vuex)

随着用户端体验的不断提升&#xff0c;很多应用在上线的时候都要求做不同的主题&#xff0c;最基本的就是白天与夜间主题。 就像b站app主题切换&#xff0c;像这样的 uniapp因为能轻松实现多端发布而得到很多开发者的青睐&#xff0c;但每个端的实现也有可能不同&#xff0c;现…

NLP学习笔记四-word embeding

NLP学习笔记四-word embeding word embeding就是一块重头戏了&#xff0c;因为这里做完&#xff0c;我们的数据处理部分也基本上收尾了。 下面我们附上一张图&#xff1a; 如上图&#xff0c;word embeding实在我们one-hot word之后才可以进行的&#xff0c;每一步处理技术都是…

NVM安装(管理Node.js版本)

NVM可以在一台电脑上安装多个版本Node.js&#xff0c;并且可以一条指令随时下载或切换版本 下载安装 github下载地址&#xff1a;https://github.com/coreybutler/nvm-windows/releases 一路next&#xff0c;注意修改安装路径即可&#xff08;不要安装在有中文名称的目录下&am…

Latex图表制作:关于EPS文件转PDF文件及PDF裁剪自动化的Shell脚本制作

关于EPS文件转PDF文件及PDF裁剪自动化的Shell脚本制作 前言一、EPS文件转PDF文件1. 过去的科研绘图方案2. 未来的科研绘图方案 二、使用步骤1. 单例操作a. 安装epstoolb. 切除EPS文件白边并保存临时EPS文件d. 将EPS文件转换为PDF文件 2. 批处理操作a. Shell 脚本b. 使用说明 参…