共用方式為


MetadataWorkspaceExtensions 類別

[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]

MetadataWorkspace 應用程式開發介面的擴充方法

繼承階層

System.Object
  Microsoft.Data.Entity.Design.DatabaseGeneration.MetadataWorkspaceExtensions

命名空間:  Microsoft.Data.Entity.Design.DatabaseGeneration
組件:  Microsoft.Data.Entity.Design.DatabaseGeneration (在 Microsoft.Data.Entity.Design.DatabaseGeneration.dll 中)

語法

'宣告
<ExtensionAttribute> _
Public NotInheritable Class MetadataWorkspaceExtensions
'用途
public static class MetadataWorkspaceExtensions
[ExtensionAttribute]
public ref class MetadataWorkspaceExtensions abstract sealed
[<AbstractClassAttribute>]
[<SealedAttribute>]
type MetadataWorkspaceExtensions =  class end
public final class MetadataWorkspaceExtensions

MetadataWorkspaceExtensions 類型會公開下列成員。

方法

  名稱 描述
公用方法靜態成員 GetAllAssociations 擷取此 ItemCollection 中所有 AssociationType 項目的可列舉集合
公用方法靜態成員 GetAllAssociationSets 擷取此 ItemCollection 中所有 AssociationSet 項目的可列舉集合
公用方法靜態成員 GetAllEntitySets 擷取此 ItemCollection 中所有 EntitySet 項目的可列舉集合
公用方法靜態成員 GetAllEntityTypes 擷取此 ItemCollection 中所有 EntityType 項目的可列舉集合
公用方法靜態成員 GetAllReferentialConstraints 擷取此 SSDL/StoreItemCollection 中所有 ReferentialConstraint 的可列舉集合
公用方法靜態成員 GetAssociation 傳回 AssociationSet 中的 Association
公用方法靜態成員 GetContainingTypes 取得此 EntitySet 內的所有 EntityTypes
公用方法靜態成員 GetDependentEnd 依照下列規則的優先順序,擷取此關聯的相依端點:1. 如果關聯上定義了參考限制式,會傳回 DependentEnd。2.如果關聯的多重性為 1:1,而第一個端點上定義了 OnDelete='Cascade',會傳回第二個端點。如果第一個端點上未定義 OnDelete='Cascade',則會傳回第一個端點。3.在 1:* 或 0..1:* 關聯中,會傳回具有 * 多重性的端點。4.在 0..1:1 關聯中,會傳回具有 0..1 多重性的端點。
公用方法靜態成員 GetDependentProperty 如果此屬性參與了參考限制式的主體端點,此方法會傳回相依端點上的對應屬性。
公用方法靜態成員 GetEnd1 傳回所指定 AssociationType 之 AssociationEndMembers 屬性中的第一個 AssociationEndMember
公用方法靜態成員 GetEnd2 傳回所指定 AssociationType 之 AssociationEndMembers 屬性中的第二個 AssociationEndMember
公用方法靜態成員 GetEntityContainerName 擷取此 ItemCollection 中 &amp;lt;EntityContainer/&amp;gt; 項目的 'Name' 屬性。
公用方法靜態成員 GetEntityType 擷取 AssociationEnd 上的 EntityType。
公用方法靜態成員 GetKeyProperties(AssociationEndMember) 取得直接在 AssociationEnd 內的 EntityType 上宣告的索引鍵屬性
公用方法靜態成員 GetKeyProperties(EntityType) 取得直接在 EntityType 上宣告的索引鍵屬性
公用方法靜態成員 GetNamespace 透過檢查第一個找到的 StructuralType 以擷取此 ItemCollection 的命名空間
公用方法靜態成員 GetOnDelete 此方法會取得 AssociationEnd 1 上 OnDelete 項目的值。如果端點及其同層級端點將 'Cascade' 指定為 2,則傳回 'None'。若端點的多重性是「多 (*)」,此方法亦將傳回 'None'
公用方法靜態成員 GetOtherEnd 此方法會根據此關聯的 AssociationEndMember 傳回參與關聯的另一個端點
公用方法靜態成員 GetPrincipalEnd 擷取此關聯的主體端點
公用方法靜態成員 GetRootOrSelf 如果沒有基底類型,即傳回此 EntityType。否則,會傳回最上層的基底類型。
公用方法靜態成員 GetSchemaName 擷取此 EntitySet 儲存在其 MetadataProperties 中的結構描述名稱
公用方法靜態成員 GetStoreGeneratedPatternValue 根據目標版本和 DataSpace 取得 EdmProperty 的 StoreGeneratedPattern 值
公用方法靜態成員 GetStoreType 透過 DbProviderManifest 從 EdmMember 的 EdmType 取得 StoreType
公用方法靜態成員 GetTableName 擷取此 EntitySet 儲存在其 MetadataProperties 中的資料表名稱
公用方法靜態成員 InferSsdlFacetsForCsdlProperty 根據 CSDL 屬性推斷 SSDL Facet
公用方法靜態成員 IsComplexProperty 判斷此屬性是否為 ComplexProperty,亦即其是否為 ComplexType 類型
公用方法靜態成員 IsDerivedType 判斷指定的實體類型是否為衍生的類型。
公用方法靜態成員 IsJoinTable 若下列情況成立,即可推斷 SSDL 中有聯結資料表:1. 其本身產生了兩個關聯。2. 資料表上的兩個端點都是 *。3. 各關聯上的其他端點皆為 1。4. 資料表中的屬性數目等於該兩個關聯的其他端點上所有索引鍵屬性的總和。5. 資料表中的所有屬性都是索引鍵屬性
公用方法靜態成員 IsManyToMany 判斷關聯的多重性是否為 *:*
公用方法靜態成員 IsPKToPK 判斷關聯是否僅為跨主索引鍵
公用方法靜態成員 ToStoreType 在考量 Facet 的情況下將 EDM 類型轉譯成 SQL 類型。請注意,某些 Facet (FixedLength、Unicode) 是從 DbProviderManifest 取得時即已予納入考量

靠上

執行緒安全

這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

Microsoft.Data.Entity.Design.DatabaseGeneration 命名空間