【EF Core】EFCore 8.0 -CodeFirst方式生成SQLite实体对象

news/发布时间2024/5/15 10:01:58

EFCoreFirst使用流程

1、引入工具包
Microsoft.EntityFrameworkCore.SqlServer 核心程序包,封装了关键的核心代码,使用EF必须引用这个包
Microsoft.EntityFrameworkCore.Design 设计包,用于在命令行工具下EF Core开发的工具套件
Microsoft.EntityFrameworkCore.Tools 用于数据库的生成、迁移、生成表等

 

2、数量掌握EF core 模型配置

使用Data annotations 配置模型详细请看:  https://learn.microsoft.com/zh-cn/ef/ef6/modeling/code-first/data-annotations

使用 fluent API 配置模型:https://learn.microsoft.com/zh-cn/ef/core/modeling/

尽管它们非常灵活,但请记住,DataAnnotations 仅提供你可以对 Code First 类进行的最常用的配置更改。 若要为某些边缘情况配置类,应该查看备用配置机制,即 Code First 的 Fluent API。

 

 

3.创建数据库实体

    public class Blog{public int BlogId { get; set; }[Required][MaxLength(16)]public string Url { get; set; }public List<Post> Posts { get; } = new List<Post>();}

 

    public class Post{public int PostId { get; set; }public string Title { get; set; }public string Content { get; set; }[Column(TypeName = "date")]public DateTime CreateDate { get; set; }public int BlogId { get; set; }public Blog Blog { get; set; }}

2.新建一个继承DbContext的类作用是配置数据连接、操作数据库表等信息

    public class BloggingContext: DbContext{/// <summary>/// Blogs表的操作属性/// </summary>public DbSet<Blog> Blogs { get; set; }/// <summary>/// Posts/// </summary>public DbSet<Post> Posts { get; set; }/// <summary>/// 配置数据连接信息/// </summary>/// <param name="optionsBuilder"></param>protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseMySql("你的数据库连接字符串");base.OnConfiguring(optionsBuilder);}}

3.添加数据库迁移文件:程序包管理控制台输入:

Add-Migration InitialCreate    //InitialCreate是生成迁移文件的文件名,执行此命令后,会生成Migrations文件夹及相关的迁移文件
Update-Database   //生成数据库
Script-Migration   //生成快照文件

4.增、删、改、查

EFCore DbFist流程

1.在程序包包管理器控制台 中执行以下语句生成 实体类

Scaffold-DbContext "Data Source=WAYLIPC;Initial Catalog=Produce_Mac_Sn;User ID=sa;Password=123456;Integrated Security=True;Encrypt=False;" Microsoft.EntityFrameworkCore.SqlServer -context EfCoreContext -contextdir Data -outputdir Models

参数说明:

-OutputDir *** 实体文件所存放的文件目录
-ContextDir *** DbContext文件存放的目录
-Context *** DbContext文件名
-Schemas *** 需要生成实体数据的数据表所在的模式
-Tables *** 需要生成实体数据的数据表的集合
-DataAnnotations
-UseDatabaseNames 直接使用数据库中的表名和列名(某些版本不支持)
-Force 强制执行,重写已经存在的实体文件

生成数据库

    public EfCoreContext(){Database.EnsureCreated();//在构造函数中加入这个,在没有数据库时会创建数据库.}

增加'应用程式配置文件',便于后续修改或调用数据库路径.

 

 

 增加'<connectionStrings>'文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration><!--数据库路径--><connectionStrings><add name="RecordTest"  connectionString="Data Source=WAYLIPC;Initial Catalog=RecordTest;User ID=sa;Password=1987214li;Integrated Security=True;Encrypt=False" /></connectionStrings>
</configuration>

调用

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

【EF core】模型可视化 EF Core Power Tools 【工具】

Visual Studio中的EF Core Power Tools 扩展来可视化模型。编程是个人爱好

模型可视化 EF Core Power Tools 【工具】

Visual Studio中的EF Core Power Tools 扩展来可视化模型。编程是个人爱好

四则运算项目

四则运算器实现这个作业属于哪个课程 软件工程这个作业要求在哪里 四则运算这个作业的目标 总结成败得失,分享经验,总结教训你可以在GitHub上找到本项目并下载所有的算法和查看日志 Slave 使用手册 计划 第二次使用PSP方法进行软件实现,本次编程吸取上一次的经验,在实现一个…

04-python数据容器

列表 元组 定义 变量名称 = (x,y,z) #定义空元组 t1 = ()或tuple()ps: 定义单个元素的元组时,必须加上逗号,不然就是单个元素的类型,而不是元组类型 t1 = ("hello") print(type(t1)) #str t2 = ("hello",) print(type(t2)) #tuple元组的操作# 取元组…

计算机/网安 面试例题(十)

计算机/网安 面试例题(十)—— 渗透测试信息收集服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,cms,cdn,证书等),dns记录 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) 子域名收集,旁站,C段等 google hack…

Docker 容器编排利器 Docker Compose

Docker 容器编排利器 Docker Compose 一、Docker Compose 简介 Docker Compose 项目是 Docker 官方的开源项目,Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」,来源于之前的 Fig 项目,使用 Python 语言编…