本文整理汇总了C#中System.Data.Entity.Core.EntityClient.EntityConnection.GetMetadataWorkspace方法的典型用法代码示例。如果您正苦于以下问题:C# EntityConnection.GetMetadataWorkspace方法的具体用法?C# EntityConnection.GetMetadataWorkspace怎么用?C# EntityConnection.GetMetadataWorkspace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.Core.EntityClient.EntityConnection
的用法示例。
在下文中一共展示了EntityConnection.GetMetadataWorkspace方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Verify_that_opening_connection_does_not_create_new_MetadataWorkspace
public void Verify_that_opening_connection_does_not_create_new_MetadataWorkspace()
{
var connection = new EntityConnection(connectionString);
var workspace = connection.GetMetadataWorkspace();
connection.Open();
Assert.Same(workspace, connection.GetMetadataWorkspace());
}
示例2: EntityConnection
public void Verify_that_metadata_is_the_same_for_two_workspaces_created_from_two_entity_connections_with_same_connection_strings()
{
var connection1 = new EntityConnection(connectionString);
var connection2 = new EntityConnection(connectionString);
var workspace1 = connection1.GetMetadataWorkspace();
var workspace2 = connection2.GetMetadataWorkspace();
Assert.Same(workspace1.GetItemCollection(DataSpace.CSpace), workspace2.GetItemCollection(DataSpace.CSpace));
Assert.Same(workspace1.GetItemCollection(DataSpace.SSpace), workspace2.GetItemCollection(DataSpace.SSpace));
Assert.Same(workspace1.GetItemCollection(DataSpace.CSSpace), workspace2.GetItemCollection(DataSpace.CSSpace));
}
示例3: GetSpatialServices
internal static DbSpatialServices GetSpatialServices(IDbDependencyResolver resolver, EntityConnection connection)
{
DebugCheck.NotNull(resolver);
DebugCheck.NotNull(connection);
var storeItemCollection = (StoreItemCollection)connection.GetMetadataWorkspace().GetItemCollection(DataSpace.SSpace);
var key = new DbProviderInfo(
storeItemCollection.StoreProviderInvariantName, storeItemCollection.StoreProviderManifestToken);
return GetSpatialServices(resolver, key, () => GetProviderServices(connection.StoreConnection));
}
示例4: MetadataCachingWithGarbageCollectionTemplate
private void MetadataCachingWithGarbageCollectionTemplate(Action garbageCollection)
{
MetadataWorkspace.ClearCache();
var weakReferences = new WeakReference[3];
// load metadata
using (var connection1 = new EntityConnection(connectionString))
{
connection1.Open();
weakReferences[0] = new WeakReference(connection1.GetMetadataWorkspace().GetItemCollection(DataSpace.CSpace));
weakReferences[1] = new WeakReference(connection1.GetMetadataWorkspace().GetItemCollection(DataSpace.SSpace));
weakReferences[2] = new WeakReference(connection1.GetMetadataWorkspace().GetItemCollection(DataSpace.CSSpace));
}
// perform necessary garbage collection steps
garbageCollection();
// verify that metadata was cached
using (var connection2 = new EntityConnection(connectionString))
{
connection2.Open();
Assert.Same(weakReferences[0].Target, connection2.GetMetadataWorkspace().GetItemCollection(DataSpace.CSpace));
Assert.Same(weakReferences[1].Target, connection2.GetMetadataWorkspace().GetItemCollection(DataSpace.SSpace));
Assert.Same(weakReferences[2].Target, connection2.GetMetadataWorkspace().GetItemCollection(DataSpace.CSSpace));
}
}
示例5: GetSpatialValueFromProviderValue
private static object GetSpatialValueFromProviderValue(
object spatialValue, PrimitiveType parameterType, EntityConnection connection)
{
var providerServices = DbProviderServices.GetProviderServices(connection.StoreConnection);
var storeItemCollection = (StoreItemCollection)connection.GetMetadataWorkspace().GetItemCollection(DataSpace.SSpace);
var spatialServices = providerServices.GetSpatialServices(storeItemCollection.StoreProviderManifestToken);
if (Helper.IsGeographicType(parameterType))
{
return spatialServices.GeographyFromProviderValue(spatialValue);
}
else
{
Debug.Assert(Helper.IsGeometricType(parameterType));
return spatialServices.GeometryFromProviderValue(spatialValue);
}
}