本文整理汇总了C#中MetadataWorkspace.IsItemCollectionAlreadyRegistered方法的典型用法代码示例。如果您正苦于以下问题:C# MetadataWorkspace.IsItemCollectionAlreadyRegistered方法的具体用法?C# MetadataWorkspace.IsItemCollectionAlreadyRegistered怎么用?C# MetadataWorkspace.IsItemCollectionAlreadyRegistered使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MetadataWorkspace
的用法示例。
在下文中一共展示了MetadataWorkspace.IsItemCollectionAlreadyRegistered方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EntityConnection
// <summary>
// This constructor allows to skip the initialization code for testing purposes.
// </summary>
internal EntityConnection(
MetadataWorkspace workspace,
DbConnection connection,
bool skipInitialization,
bool entityConnectionOwnsStoreConnection)
{
if (!skipInitialization)
{
if (!workspace.IsItemCollectionAlreadyRegistered(DataSpace.CSpace))
{
throw new ArgumentException(Strings.EntityClient_ItemCollectionsNotRegisteredInWorkspace("EdmItemCollection"));
}
if (!workspace.IsItemCollectionAlreadyRegistered(DataSpace.SSpace))
{
throw new ArgumentException(Strings.EntityClient_ItemCollectionsNotRegisteredInWorkspace("StoreItemCollection"));
}
if (!workspace.IsItemCollectionAlreadyRegistered(DataSpace.CSSpace))
{
throw new ArgumentException(
Strings.EntityClient_ItemCollectionsNotRegisteredInWorkspace("StorageMappingItemCollection"));
}
// Verify that a factory can be retrieved
var providerFactory = connection.GetProviderFactory();
if (providerFactory == null)
{
throw new ProviderIncompatibleException(Strings.EntityClient_DbConnectionHasNoProvider(connection));
}
var collection = (StoreItemCollection)workspace.GetItemCollection(DataSpace.SSpace);
_providerFactory = collection.ProviderFactory;
Debug.Assert(_providerFactory == providerFactory);
_initialized = true;
}
_metadataWorkspace = workspace;
_storeConnection = connection;
_entityConnectionOwnsStoreConnection = entityConnectionOwnsStoreConnection;
if (_storeConnection != null)
{
_entityClientConnectionState = DbInterception.Dispatch.Connection.GetState(_storeConnection, InterceptionContext);
}
SubscribeToStoreConnectionStateChangeEvents();
}
示例2: EntityConnection
/// <summary>
/// Constructs the EntityConnection from Metadata loaded in memory
/// </summary>
/// <param name="workspace">Workspace containing metadata information.</param>
public EntityConnection(MetadataWorkspace workspace, DbConnection connection)
{
GC.SuppressFinalize(this);
EntityUtil.CheckArgumentNull(workspace, "workspace");
EntityUtil.CheckArgumentNull(connection, "connection");
if (!workspace.IsItemCollectionAlreadyRegistered(DataSpace.CSpace))
{
throw EntityUtil.Argument(System.Data.Entity.Strings.EntityClient_ItemCollectionsNotRegisteredInWorkspace("EdmItemCollection"));
}
if(!workspace.IsItemCollectionAlreadyRegistered(DataSpace.SSpace))
{
throw EntityUtil.Argument(System.Data.Entity.Strings.EntityClient_ItemCollectionsNotRegisteredInWorkspace("StoreItemCollection"));
}
if(!workspace.IsItemCollectionAlreadyRegistered(DataSpace.CSSpace))
{
throw EntityUtil.Argument(System.Data.Entity.Strings.EntityClient_ItemCollectionsNotRegisteredInWorkspace("StorageMappingItemCollection"));
}
if (connection.State != ConnectionState.Closed)
{
throw EntityUtil.Argument(System.Data.Entity.Strings.EntityClient_ConnectionMustBeClosed);
}
// Verify that a factory can be retrieved
if (DbProviderFactories.GetFactory(connection) == null)
{
throw EntityUtil.ProviderIncompatible(System.Data.Entity.Strings.EntityClient_DbConnectionHasNoProvider(connection));
}
StoreItemCollection collection = (StoreItemCollection)workspace.GetItemCollection(DataSpace.SSpace);
_providerFactory = collection.StoreProviderFactory;
_storeConnection = connection;
_userOwnsStoreConnection = true;
_metadataWorkspace = workspace;
_initialized = true;
}
示例3: LoadStoreItemCollections
private static void LoadStoreItemCollections(MetadataWorkspace workspace,
DbConnection storeConnection,
DbProviderFactory factory,
DbConnectionOptions connectionOptions,
EdmItemCollection edmItemCollection,
MetadataArtifactLoader artifactLoader)
{
Debug.Assert(workspace.IsItemCollectionAlreadyRegistered(DataSpace.CSpace), "C-Space must be loaded before loading S or C-S space");
// The provider connection string is optional; if it has not been specified,
// we pick up the store's connection string.
//
string providerConnectionString = connectionOptions[EntityConnectionStringBuilder.ProviderConnectionStringParameterName];
if (string.IsNullOrEmpty(providerConnectionString) && (storeConnection != null))
{
providerConnectionString = storeConnection.ConnectionString;
}
// Build a string as the key and look up the MetadataCache for a match
string storeCacheKey = CreateMetadataCacheKey(artifactLoader.GetOriginalPaths(),
connectionOptions[EntityConnectionStringBuilder.ProviderParameterName],
providerConnectionString);
// Load store metadata.
object entryToken;
StorageMappingItemCollection mappingCollection =
MetadataCache.GetOrCreateStoreAndMappingItemCollections(storeCacheKey,
artifactLoader,
edmItemCollection,
out entryToken);
workspace.RegisterItemCollection(mappingCollection.StoreItemCollection);
workspace.RegisterItemCollection(mappingCollection);
// Adding the store metadata entry token to the workspace
workspace.AddMetadataEntryToken(entryToken);
}
示例4: EntityConnection
/// <summary>
/// This constructor allows to skip the initialization code for testing purposes.
/// </summary>
internal EntityConnection(MetadataWorkspace workspace, DbConnection connection, bool skipInitialization)
{
if (!skipInitialization)
{
if (!workspace.IsItemCollectionAlreadyRegistered(DataSpace.CSpace))
{
throw new ArgumentException(Strings.EntityClient_ItemCollectionsNotRegisteredInWorkspace("EdmItemCollection"));
}
if (!workspace.IsItemCollectionAlreadyRegistered(DataSpace.SSpace))
{
throw new ArgumentException(Strings.EntityClient_ItemCollectionsNotRegisteredInWorkspace("StoreItemCollection"));
}
if (!workspace.IsItemCollectionAlreadyRegistered(DataSpace.CSSpace))
{
throw new ArgumentException(
Strings.EntityClient_ItemCollectionsNotRegisteredInWorkspace("StorageMappingItemCollection"));
}
if (connection.State
!= ConnectionState.Closed)
{
throw new ArgumentException(Strings.EntityClient_ConnectionMustBeClosed);
}
// Verify that a factory can be retrieved
if (DbProviderFactories.GetFactory(connection) == null)
{
throw new ProviderIncompatibleException(Strings.EntityClient_DbConnectionHasNoProvider(connection));
}
var collection = (StoreItemCollection)workspace.GetItemCollection(DataSpace.SSpace);
_providerFactory = collection.StoreProviderFactory;
_userOwnsStoreConnection = true;
_initialized = true;
}
_metadataWorkspace = workspace;
_storeConnection = connection;
}