你的位置:首页 > ASP.net教程

[ASP.net教程]Fluent API in Code


在前面的章节中,我们已经看到了各种不同的数据注解特性。现在我们来学习一下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(数据库初始化策略)