原文地址:http://www.entityframeworktutorial.net/basics/what-is-entity-in-entityframework.aspx EF中的實體就是繼承自DbContext類的上下文類中的,DbSet類型的實體類。EF API 將這樣的每個實體映射成數 ...
原文地址:http://www.entityframeworktutorial.net/basics/what-is-entity-in-entityframework.aspx
EF中的實體就是繼承自DbContext類的上下文類中的,DbSet類型的實體類。EF API 將這樣的每個實體映射成資料庫表,並且實體中的每個屬性映射成表的數據列。
例如下麵的Student,StudentAddress以及Grade都是程式中的領域類。
上面這些類,當在上下文類SchoolContext【繼承自DbContext類的類】中,被包裝成DbSet<TEntity>屬性的時候,就成為了實體,例如:
在上圖中,Stduents,StudentAddresses以及Grades屬性稱作為實體集。一個實體可以包含兩個屬性:一個是Scalar Properties【標量屬性】,另外一個就是Navigation Properties【導航屬性】。
標量屬性
原始類型的屬性,就成為標量屬性,標量屬性存儲實際的值,標量屬性映射成為數據表中的一個數據列。
導航屬性
導航屬性代表當前實體和另外的實體之間的關係。有兩種類型的導航屬性,一個是Reference Navigation【引用類型導航】,還有一個是Collection Navigation【集合類型導航】。
引用類型的導航屬性
如果一個實體,包含一個實體類型的屬性,那麼這個屬性就稱為引用類型的導航屬性。代表1的多樣性【It represents multiplicity of one (1).】。
集合類型的導航屬性
如果一個實體,包含一個集合類型的屬性,這個屬性就稱為集合類型導航屬性。代表多的多樣性【 It represents multiplicity of many (*).】。
下麵的圖形列出來了引用類型的導航屬性和集合類型的導航屬性,以及標量屬性。
好了,EF的基礎系列,第六篇就介紹完了。有不明白的可以留言,謝謝支持。
附錄:
EF 6官方文檔: https://docs.microsoft.com/zh-cn/ef/ef6/
EF Core官方文檔:https://docs.microsoft.com/zh-cn/ef/core/