From c8102883aa3d90f2299cb053b8d2f4eb5415df7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=93=E9=9B=A8=E6=B9=98?= <2488028707@qq.com> Date: Sun, 15 Dec 2024 20:00:00 +0800 Subject: [PATCH 1/2] 20241209 --- ...re\347\232\204\346\255\245\351\252\244.md" | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 "\351\202\223\351\233\250\346\271\230/\347\254\224\350\256\260/20241209-\345\272\224\347\224\250EntityFrameworkCore\347\232\204\346\255\245\351\252\244.md" diff --git "a/\351\202\223\351\233\250\346\271\230/\347\254\224\350\256\260/20241209-\345\272\224\347\224\250EntityFrameworkCore\347\232\204\346\255\245\351\252\244.md" "b/\351\202\223\351\233\250\346\271\230/\347\254\224\350\256\260/20241209-\345\272\224\347\224\250EntityFrameworkCore\347\232\204\346\255\245\351\252\244.md" new file mode 100644 index 0000000..054de3d --- /dev/null +++ "b/\351\202\223\351\233\250\346\271\230/\347\254\224\350\256\260/20241209-\345\272\224\347\224\250EntityFrameworkCore\347\232\204\346\255\245\351\252\244.md" @@ -0,0 +1,59 @@ +## 数据的持久化 + - 结绳记事 + - 甲骨文 + - 木简 + - 竹简 + - 纸 + - 账本 + - 文本文件、Excel(磁盘:HDD、SSD) + - 数据库 + - 常见数据库 + - Sqlserver + - PostgreSQl + - MySQL/MariaDd + - 常见ORM工具(比喻为应用和数据库之间的通讯员) + - Dapper + - EntityFrameworkCore + - FreeSql + +## 应用EntityFrameworkCore的步骤 +#### 1.安装依赖包 +命令: dontnet add package Microsoft. +EntityFrameworkCore.SqlServer + +#### 2.定义数据库表模型 +```c# +namespace Blog.Models; + +public class Blogs +{ + public int Id { get; set; } + public string Title { get; set; } = null!; + public string Content { get; set; } = null!; + public string Author { get; set; } = null!; +} +``` + +#### 3.定义上下文 +```C# +using Microsoft.EntityFrameworkCore; + +namespace Blog.Models; + +public class BlogDbContext : DbContext +{ + public DbSet Blogs { get; set; } = null!; + + + // The following configures EF to create a Sqlite database file in the + // special "local" folder for your platform. + protected override void OnConfiguring(DbContextOptionsBuilder options) + => options.UseSqlServer($"Server=.\\SQLEXPRESS;database=Blog4;uid=sa;pwd=123456;TrustServerCertificate=True;"); +} +``` + +#### 4.生成迁移文件 +命令:dotnet ef migrations add XXX (PS: 可能需要安装如下依赖包:Microsoft.EntityFrameworkCore.Design) + +#### 5.将上一步生成的迁移文件,更新到数据库: +dotnet ef database update(PS:需要保证连接字符串正确无误,包括用户名、密码等,数据库打开,并且允许远程连接) \ No newline at end of file -- Gitee From 9d82b57829abca7e6585eca294790388f030f327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=93=E9=9B=A8=E6=B9=98?= <2488028707@qq.com> Date: Sun, 15 Dec 2024 20:06:17 +0800 Subject: [PATCH 2/2] 20241212 --- .../20241212-Linq\346\237\245\350\257\242.md" | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 "\351\202\223\351\233\250\346\271\230/\347\254\224\350\256\260/20241212-Linq\346\237\245\350\257\242.md" diff --git "a/\351\202\223\351\233\250\346\271\230/\347\254\224\350\256\260/20241212-Linq\346\237\245\350\257\242.md" "b/\351\202\223\351\233\250\346\271\230/\347\254\224\350\256\260/20241212-Linq\346\237\245\350\257\242.md" new file mode 100644 index 0000000..366dce9 --- /dev/null +++ "b/\351\202\223\351\233\250\346\271\230/\347\254\224\350\256\260/20241212-Linq\346\237\245\350\257\242.md" @@ -0,0 +1,12 @@ +## Linq集成查询 + +作用在谁的身上:答案是集合,特别是实现了IEnumerable接口的集合上,方法参数中,一般是Lambda表达式(其实就是匿名函数) + + - 查询单个元素 + - .First() 函数中可以写查找第一个条件,形如(t=>t.Id==id)。但是,如果没有第一个元素,或者没有符合条件第一个元素,则报错 + - .FirstOrDefault() 类似上面的用法,但是在没有符合条件的时候,不报错,而是返回一个null + - 查询多个元素 + - Where() 条件函数,可以查找符合一定条件的元素,返回的是一个集合 + + - 重新设计返回的数据类型 + - select() 这个函数可以帮助我们处理函数返回的真正内容 \ No newline at end of file -- Gitee