8.翻译系列: EF 6中配置领域类(EF 6 Code-First 系列)

2022-11-02,,,,

原文地址:http://www.entityframeworktutorial.net/code-first/configure-classes-in-code-first.aspx

EF 6 Code-First系列文章目录:

1 翻译系列:什么是Code First(EF 6 Code First 系列)
2.翻译系列:为EF Code-First设置开发环境(EF 6 Code-First系列)
3.翻译系列:EF Code-First 示例(EF 6 Code-First系列)
4.翻译系列:EF 6 Code-First默认约定(EF 6 Code-First系列)
5.翻译系列:EF 6中数据库的初始化(EF 6 Code-First 系列)
6.翻译系列:EF 6 Code-First中数据库初始化策略(EF 6 Code-First系列
7.翻译系列:EF 6中的继承策略(EF 6 Code-First 系列)
8.翻译系列: EF 6中配置领域类(EF 6 Code-First 系列)
9.翻译系列:EF 6以及EF Core中的数据注解特性(EF 6 Code-First系列)
9.1 翻译系列:数据注解特性之----Table【EF 6 Code-First 系列】
9.2 翻译系列:数据注解特性之---Column【EF 6 Code First系列】
9.3 翻译系列:数据注解特性之Key【EF 6 Code-First 系列】
9.4 翻译系列:EF 6以及 EF Core中的NotMapped特性(EF 6 Code-First系列)
9.5 翻译系列:数据注解之ForeignKey特性【EF 6 Code-First系列】
9.6 翻译系列:数据注解之Index特性【EF 6 Code-First系列】
9.7 翻译系列:EF数据注解特性之--InverseProperty【EF 6 Code-First系列】
9.8 翻译系列:数据注解特性之--Required 【EF 6 Code-First系列】
9.9 翻译系列:数据注解特性之--MaxLength 【EF 6 Code-First系列】
9.10 翻译系列:EF数据注解特性之StringLength【EF 6 Code-First系列】
9.11 翻译系列:数据注解特性之--Timestamp【EF 6 Code-First系列】
9.12 翻译系列:数据注解特性之ConcurrencyCheck【EF 6 Code-First系列】
10.翻译系列:EF 6中的Fluent API配置【EF 6 Code-First系列】
10.1.翻译系列:EF 6中的实体映射【EF 6 Code-First系列】
10.2.翻译系列:使用Fluent API进行属性映射【EF 6 Code-First】
11.翻译系列:在EF 6中配置一对零或者一对一的关系【EF 6 Code-First系列】
12.翻译系列:EF 6 中配置一对多的关系【EF 6 Code-First系列】
13.翻译系列:Code-First方式配置多对多关系【EF 6 Code-First系列】
14.翻译系列:从已经存在的数据库中生成上下文类和实体类【EF 6 Code-First系列】
15.翻译系列:EF 6中的级联删除【EF 6 Code-First 系列】
16.翻译系列:EF 6 Code -First中使用存储过程【EF 6 Code-First系列】
17.翻译系列:将Fluent API的配置迁移到单独的类中【EF 6 Code-First系列】
18.翻译系列:EF 6 Code-First 中的Seed Data(种子数据或原始测试数据)【EF 6 Code-First系列】
19.翻译系列:EF 6中定义自定义的约定【EF 6 Code-First约定】
20.翻译系列:Code-First中的数据库迁移技术【EF 6 Code-First系列】
20.1翻译系列:EF 6中自动数据迁移技术【EF 6 Code-First系列】
20.2.翻译系列:EF 6中基于代码的数据库迁移技术【EF 6 Code-First系列】
21.翻译系列:Entity Framework 6 Power Tools【EF 6 Code-First系列】

在前面的章节中,我们学习了Code-First默认的约定。Code-First使用默认的约定,从你的领域类中生成概念模型。EF 6 Code-First利用了一种称为约定优先于配置的编程模式。但是,你可以通过配置你的领域模型,来重写这些默认约定以提供EF所需要的信息。有两种方式来配置你的领域类:

1.Data Annotation Attributes【数据注解特性】 

2.Fluent API

数据注解特性

数据注解是一种基于配置的简单特性,你可以应用于你的领域类以及领域类的属性上。数据注解特性,不仅适用于EF、还适用于ASP.NET Web Form以及ASP.NET MVC,数据注解特性包含在System.ComponentModel.DataAnnotations.命名空间下。

下面的例子,列举出了一些数据注解特性的例子:

需要注意的是:数据注解特性,并不支持EF中所有的配置选项。所以你可以使用Fluent API,Fluent API提供了EF中所有的配置选项。

Fluent API

另外的配置领域类的方式就是使用EF中的Fluent API。EF Fluent API是基于Fluent API设计模式的(a.k.a Fluent Interface),Fluent API就是通过方法链式调用的。

当EF从领域类构建模型时,就可以应用Fluent API配置。你可以通过重写DBContext类的OnModelCreating方法,以注入Fluent API 相关配置。例如:

你可以使用DbModelBuilder类的 modelBuilder对象来配置领域类、这个DbModelBuilder就称为Fluent API,因为你可以链式调用各种不同的方法。

后面的章节中,你将了解Fluent API更多详细的细节。

这篇文章就介绍结束了,大家有什么问题,欢迎与我讨论,一起进步,谢谢支持!

8.翻译系列: EF 6中配置领域类(EF 6 Code-First 系列)的相关教程结束。

《8.翻译系列: EF 6中配置领域类(EF 6 Code-First 系列).doc》

下载本文的Word格式文档,以方便收藏与打印。