答案:Code First是Entity Framework中通过C#类定义数据库结构的开发模式,先编写POCO实体类,再由EF自动生成数据库;创建Student和Course类后,继承DbContext并配置DbSet,通过OnConfiguring设置连接字符串,使用Add-Migration和Update-Database命令应用迁移生成数据库表,最后通过上下文操作数据,支持数据注解和Fluent API进行映射配置。

Code First 是 Entity Framework 中的一种开发模式,允许你通过编写 C# 类来定义数据库结构,而不是先创建数据库或使用可视化模型设计工具。换句话说,你用代码“先”定义实体模型,EF 会根据这些类自动生成数据库。
Code First 的核心思想
你不需要预先设计数据库表,而是定义领域模型(即 POCO 类),然后让 Entity Framework 根据这些类自动创建数据库和表结构。这种方式更适合以业务逻辑为中心的开发流程,尤其是采用领域驱动设计(DDD)的项目。
如何使用 Code First
下面是使用 Code First 的基本步骤:
1. 创建实体类
定义你的数据模型,通常是简单的 C# 类(POCO):
public class Student{ public int Id { get; set; } public string Name { get; set; } public int Age { get; set; }}public class Course{public int Id { get; set; }public string Title { get; set; }}
2. 创建 DbContext 子类
这个类代表与数据库的会话,用于管理实体的增删改查:
using Microsoft.EntityFrameworkCore;public class SchoolContext : DbContext{public DbSet Students { get; set; }public DbSet Courses { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){ optionsBuilder.UseSqlServer("Server=(localdb)mssqllocaldb;Database=SchoolDb;Trusted_Connection=true;");}
}
3. 配置数据库连接
在 OnConfiguring 方法中指定数据库提供程序和连接字符串。也可以通过依赖注入在 Program.cs 或 Startup.cs 中配置。
4. 使用迁移(Migrations)创建数据库
Entity Framework 提供了迁移功能,可以将模型变更同步到数据库。
启用迁移(首次使用):Add-Migration InitialCreate应用迁移:Update-Database
执行后,EF 会创建数据库,并生成对应的表(Students、Courses)以及主键、外键等约束。
5. 操作数据
通过上下文实例进行数据操作:
using (var context = new SchoolContext()){ var student = new Student { Name = "张三", Age = 20 }; context.Students.Add(student); context.SaveChanges();}
常用特性与配置
你可以通过数据注解或 Fluent API 来控制映射行为:
数据注解:在类上使用属性,如 [Required]、[StringLength(100)]、[Key]Fluent API:在 OnModelCreating 方法中配置更复杂的规则,例如表名、外键关系等
protected override void OnModelCreating(ModelBuilder modelBuilder){ modelBuilder.Entity() .ToTable("Students"); modelBuilder.Entity() .Property(s => s.Name).IsRequired().HasMaxLength(100);}
基本上就这些。Code First 让你专注于代码,数据库随之演化,适合快速迭代的开发场景。
以上就是Entity Framework中的Code First方法是什么?如何使用?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1440600.html
微信扫一扫
支付宝扫一扫