PropertyKind Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje druhy atributů položek v koncepčním modelu.
public enum class PropertyKind
public enum PropertyKind
type PropertyKind =
Public Enum PropertyKind
- Dědičnost
Pole
Extended | 1 | Člen výčtu označující, že atribut položky je |
System | 0 | Člen výčtu označující, že atribut položky je |
Příklady
Následující ukázka kódu ukazuje, jak získat pracovní prostor metadat z připojení a pak tento pracovní prostor metadat použít k načtení informací o rozšířených vlastnostech v zadaném datovém modelu. Všimněte si, že pracovní prostor metadat je komponenta služby runtime, která poskytuje podporu pro načítání metadat.
Ukázka kódu používá CSpace k určení modelu znak . Představuje CSpace výchozí název konceptuálního modelu. Ukázka kódu používá model AdventureWorks.
using System;
using System.Data;
using System.Data.EntityClient;
using System.Collections.ObjectModel;
using System.Data.Metadata.Edm;
class UsePropertyKindExample
{
static void Main(string[] args)
{
try
{
// Establish a connection to the underlying data provider by
// using the connection string specified in the config file.
using (EntityConnection connection =
new EntityConnection("Name=AdventureworksContext"))
{
// Open the connection.
connection.Open();
// Access the metadata workspace.
MetadataWorkspace workspace =
connection.GetMetadataWorkspace();
// Display the extended properties in the conceptual model.
DisplayProperties(workspace, DataSpace.CSpace);
}
}
catch (MetadataException exceptionMetadata)
{
Console.WriteLine("MetadataException: {0}",
exceptionMetadata.Message);
}
catch (System.Data.MappingException exceptionMapping)
{
Console.WriteLine("MappingException: {0}",
exceptionMapping.Message);
}
}
public static void DisplayProperties(
MetadataWorkspace workspace, DataSpace model)
{
// Get a collection of the entity containers.
ReadOnlyCollection<EntityContainer> containers =
workspace.GetItems<EntityContainer>(model);
// Iterate through the collection to get each entity container.
foreach (EntityContainer container in containers)
{
// Display the extended properties for the entity container.
DisplayExtendedProperties(container);
// Iterate through the collection to get each entity set.
foreach (EntitySetBase baseSet in container.BaseEntitySets)
{
// Check whether this instance is an EntitySet.
if (baseSet is EntitySet)
{
// Display the extended properties for the entity set.
DisplayExtendedProperties(baseSet);
}
}
}
// Get a collection of the entity types.
ReadOnlyCollection<EntityType> entities =
workspace.GetItems<EntityType>(model);
// Iterate through the collection to get each entity type.
foreach (EntityType entity in entities)
{
// Display the extended properties for the entity type.
DisplayExtendedProperties(entity);
}
}
private static void DisplayExtendedProperties(MetadataItem item)
{
foreach (MetadataProperty property in item.MetadataProperties)
{
if (property.PropertyKind == PropertyKind.Extended)
Console.WriteLine(string.Format("\t{0}\t{1}\t{2}",
item.GetType().Name, property.Name, property.Value));
}
}
}