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 中 &lt;EntityContainer/&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) 成員都是安全執行緒。並非所有的執行個體成員都是安全執行緒。