C#面试题更新 2026-08-03

请解释在 Entity Framework Core 中,利用 Fluent API 对实体进行配置的方法有哪些,并说明其适用场景。

考察说明

考察对 Entity Framework Core 中 Fluent API 配置实体的掌握程度,以及其与数据注解的对比。

回答思路

  1. 【回答框架 1】Fluent API 是 EF Core 中用于配置实体映射到数据库表结构的一种方式,通过重写 DbContext 的 OnModelCreating 方法,在其中使用 ModelBuilder 提供的各种方法来实现。它比数据注解更灵活,将配置与实体类分离。
  2. 【回答框架 2】常用配置包括:ToTable 设置表名,HasKey 设置主键,Property 配合 IsRequired、HasMaxLength、HasColumnType 等设置字段属性,HasOne/HasMany 配置导航属性和外键关系。
  3. 【回答框架 3】适用场景:当需要复杂的映射逻辑,或希望保持实体类的整洁,避免使用数据注解污染领域模型时,优先选择 Fluent API。同时,它也用于配置数据注解无法表达的细节。
  4. 【关键点 1】Fluent API 在 OnModelCreating 方法中配置。
  5. 【关键点 2】通过 ToTable、HasKey、Property 等方法进行表、主键和属性配置。
  6. 【关键点 3】适用于复杂映射和保持实体类干净的场景。
  7. 【易错点 1】注意 Fluent API 配置的优先级高于数据注解。
  8. 【易错点 2】不要过度使用 Fluent API 导致配置代码膨胀,简单映射可直接用数据注解。