原文地址:http://www.entityframeworktutorial.net/code-first/configure-classes-in-code-first.aspx 在前面的章節中,我們學習了Code-First預設的約定。Code-First使用預設的約定,從你的領域類中生成概念 ...
原文地址:http://www.entityframeworktutorial.net/code-first/configure-classes-in-code-first.aspx
在前面的章節中,我們學習了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更多詳細的細節。
這篇文章就介紹結束了,大家有什麼問題,歡迎與我討論,一起進步,謝謝支持!