在前面的章节中,我们已经看到了各种不同的数据注解特性。现在我们来学习一下Fluent API。
Fluent API是另外一种配置领域类的方式,它提供了更多的配置相比数据注解特性。
Mappings【映射】 | To Database【转成数据库】 |
---|
Model-wide Mapping【模型映射】 | - Set default Schema【设置默认的Schema】
- Set Custom Convetions【自定义约定】
|
Entity Mapping【实体映射】 | - To Single or Multiple Tables and Schema【单个或者多个数据表,Schama】
- To Complex type【复杂类型】
- Inheritance Hierarchies【继承层次】
|
Property Mapping【属性映射】 | - To Column, Column Name, Column Type, Nullable or Not Null Column, Column size, Columns Order
转成列,列名,列的类型,可空列或者不可空列,列的大小,列的顺序 - To Concurrency column【并发列】
- To Foreign key column【外键列】
- To configure relationships【配置关系】
|
下面让我们看下,之前在上下文里面写的代码:
ublic class SchoolContext: DbContext { public SchoolDBContext(): base() { } public DbSet<Student> Students { get; set; } public DbSet<Standard> Standards { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { //Configure domain classes using modelBuilder here【在这里配置领域类】 base.OnModelCreating(modelBuilder); }}
Fluent API的使用就是在这个方法OnModelCreating中配置。DbModelBuider是配置领域类的主要的类,在这个方法中,你的领域类被初始化。
当然你可以同时使用数据注解特性和Fluent API。Code-First给出的优先级是:Fluent API>数据注解>默认约定。
DBModelBuilder类包含很多重要的属性和方法,了解更多关于这个类的消息的话,请查看 MSDN。
下面的一节中,我们开始学习使用Fluent API配置我们的领域类。
附上目录:
- 什么是Code First
- 简单的Code First例子
- Code-First 约定
- DB Initialization(数据库初始化)
- Inheritance Strategy(继承策略)
- Configure Domain Classes(配置领域类)
- DataAnnotations(数据注解)
- Fluent API
- Configure One-to-One(配置一对一关系)
- Configure One-to-Many(配置一对多关系)
- Configure Many-to-Many(配置多对多关系)
- Move Configurations(数据迁移)
- DB Initialization Strategy(数据库初始化策略)
原标题:Fluent API in Code
关键词: