站点图标 江湖人士

Entity Framework Core的配置

Entity Framework Core的配置

上篇文章中我们了解了EF Core中的默认约定。很多时候,我们希望自定义实体到表映射,并且不希望遵循默认约定。EF Core允许我们配置域类,以便将EF模型自定义为数据库映射。该编程模式称为约定优于配置。

在EF Core中有两种配置域类的方法(与EF 6中的相同)。

  1. 通过使用数据注解属性( Data Annotation Attributes )
  2. 通过使用Fluent API

数据注解属性 (Data Annotation Attributes)

Data Annotations是一种基于属性的简单配置方法,可以将不同的.NET属性应用于域类和属性以配置模型。

数据注解属性不专用于实体框架,因为它们也用于ASP.NET MVC。这就是为什么这些属性包含在单独的命名空间System.ComponentModel.DataAnnotations中

以下示例演示了如何将数据注解属性应用于域类,以及如何覆盖约定。

[Table("StudentInfo")]
public class Student
{
    public Student() { }
        
    [Key]
    public int SID { get; set; }

    [Column("Name", TypeName="ntext")]
    [MaxLength(20)]
    public string StudentName { get; set; }

    [NotMapped]
    public int? Age { get; set; }
        
        
    public int StdId { get; set; }

    [ForeignKey("StdId")]
    public virtual Standard Standard { get; set; }
}

EF 6和EF Core中的数据注解属性相同。

Fluent API

配置领域实体的另一种方法是使用Entity Framework Fluent API。EF Fluent API基于Fluent API设计模式(又名Fluent Interface),其结果由方法链组成

在下一章中了解Fluent API。

退出移动版