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:配置外鍵列所在表的名稱和架構。