EF里面的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接做用于类的属性上面,还有一个就是Fluent API,经过新增相应的配置类来覆盖默认配置。数据库
Data Annotations翻译过来就是数据注解,是经过直接在实体类的属性上加注相似标签的东西达到对数据库的映射;架构
特记录下使用FluentAPI方式:app
要使用Fluent API 就必须在你自定义的继承自DbContext的类中重载OnModelCreating这个方法ui
1.ToTable - TableAttribute:配置此实体类型映射到的表名spa
2.HasColumnName - ColumnAttribute:配置用于存储属性的数据库列的名称翻译
3.HasForeignKey - ForeignKeyAttribute:将关系配置为使用在对象模型中的外键属性。若是未在对象模型中公开外键属性,则使用Map方法对象
4.Ignore - NotMappedAttribute:从模型中排队某个属性,使该属性不会映射到数据库继承
5.HasRequired:经过此实体类型配置必需关系。除非指定此关系,不然实体类型的实例将没法保存到数据库。数据库中的外键不可为null。ip
6.HasOptional:今后实体类型配置可选关系。实体类型的实例将能保存到数据库,而无需指定此关系。数据库中的外键可为null。ci
7.HasMany:今后实体类型配置一对多关系。8.WithOptional:将关系配置为required:optional。(required:0…1端的1,表示必需,不可为null;optional:0…1端的0,表示可选,可为null。下同)
9.WithOptionalDependent:将关系配置为optional:optional。要配置的实体类型将成为依赖对象,且包含主体的外键。做为关系目标的实体类型将成为关系中的主体。
10.WithOptionalPrincipal:将关系配置为optional:optional。要配置的实体类型将成为关系中的主体。做为关系目标的实体类型将成为依赖对象,且包含主体的外键。
11.WithRequired:将关系的指定端配置为必需的,且在关系的另外一端有导航属性。
12.WithRequiredDependent:将关系配置为required:required。要配置的实体类型将成为依赖对象,且包含主体的外键。做为关系目标的实体类型将成为关系中的主体。
13.WithRequiredPrincipal:将关系配置为required:required。要配置的实体类型将成为关系中的实体。做为关系目标的实体类型将成为依赖对象,且包含主体的外键。
14.WillCascadeOnDelete:配置是否对关系启用级联删除。
15.Map:将关系配置为使用未在对象模型中公开的外键属性。可经过指定配置操做来自定义列和表。若是指定了空的配置操做,则约定将生成列名。若是在对象模型中公开了外键属性,则使用 HasForeignKey 方法。并不是全部关系都支持在对象模型中公开外键属性。
16.MapKey:配置外键的列名。17.ToTable:配置外键列所在表的名称和架构。