Entity Framework Core系列教程-11-配置

Entity Framework Core 配置

您已在上一章中了解了EF Core中的默认约定。很多时候,我们希望自定义实体到表的映射,并且不想遵循默认约定。 EF Core允许我们配置领域实体类,以自定义EF模型到数据库的映射。此编程模式称为“约定优于配置”。
有两种方法可以在EF Core中配置领域实体类(与EF 6中相同):

  • 通过使用数据注释特性(Data Annotation)
  • 通过使用Fluent API

数据注释特性(Data Annotation Attributes)

数据注释是一种基于特性的简单配置方法,其中可以将不同的.NET特性应用于领域模型类和属性以配置模型。
数据注释属性不专用于Entity Framework,因为它们在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中相同。有关更多信息,请访问EF 6部分中的“数据注释”一章。

Fluent API

配置领域模型类的另一种方法是使用Entity Framework Fluent API。 EF Fluent API基于Fluent API设计模式(也称为Fluent接口),其中结果通过方法链来表示,下一节我们将介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值