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 0000000000000000000000000000000000000000..054de3d9a442f5916c43195e1f2dbcd65e55127c --- /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 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 0000000000000000000000000000000000000000..366dce99001b46dd4307a467cf7e2fabfdd517d2 --- /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