public void GetSpatialServices_with_EntityConnection_uses_store_manifest_to_build_key() { var mockItemCollection = new Mock <StoreItemCollection>(); mockItemCollection.Setup(m => m.ProviderInvariantName).Returns("New.York"); mockItemCollection.Setup(m => m.ProviderManifestToken).Returns("Conversation"); var mockWorkspace = new Mock <MetadataWorkspace>(); mockWorkspace.Setup(m => m.GetItemCollection(DataSpace.SSpace)).Returns(mockItemCollection.Object); var mockConnection = new Mock <EntityConnection>(); mockConnection.Setup(m => m.GetMetadataWorkspace()).Returns(mockWorkspace.Object); var mockSpatialServices = new Mock <DbSpatialServices>(); var mockResolver = new Mock <IDbDependencyResolver>(); mockResolver.Setup( m => m.GetService( typeof(DbSpatialServices), new DbProviderInfo("New.York", "Conversation"))).Returns(mockSpatialServices.Object); Assert.Same( mockSpatialServices.Object, DbProviderServices.GetSpatialServices(mockResolver.Object, mockConnection.Object)); }
internal static DbSpatialServices GetSpatialServices( IDbDependencyResolver resolver, EntityConnection connection) { StoreItemCollection itemCollection = (StoreItemCollection)connection.GetMetadataWorkspace().GetItemCollection(DataSpace.SSpace); DbProviderInfo key = new DbProviderInfo(itemCollection.ProviderInvariantName, itemCollection.ProviderManifestToken); return(DbProviderServices.GetSpatialServices(resolver, key, (Func <DbProviderServices>)(() => DbProviderServices.GetProviderServices(connection.StoreConnection)))); }
public void GetSpatialServices_with_EntityConnection_uses_provider_from_store_connection_if_resolver_returns_null() { var mockItemCollection = new Mock <StoreItemCollection>(); mockItemCollection.Setup(m => m.ProviderInvariantName).Returns("I'm.So.Free"); mockItemCollection.Setup(m => m.ProviderManifestToken).Returns("2008"); var mockWorkspace = new Mock <MetadataWorkspace>(); mockWorkspace.Setup(m => m.GetItemCollection(DataSpace.SSpace)).Returns(mockItemCollection.Object); var mockConnection = new Mock <EntityConnection>(); mockConnection.Setup(m => m.GetMetadataWorkspace()).Returns(mockWorkspace.Object); mockConnection.Setup(m => m.StoreConnection).Returns(new SqlConnection()); Assert.Same( SqlSpatialServices.Instance, DbProviderServices.GetSpatialServices(new Mock <IDbDependencyResolver>().Object, mockConnection.Object)); }
/// <summary>Gets the spatial services for the <see cref="T:System.Data.Entity.Core.Common.DbProviderServices" />.</summary> /// <returns>The spatial services.</returns> /// <param name="key">Information about the database that the spatial services will be used for.</param> public DbSpatialServices GetSpatialServices(DbProviderInfo key) { return(DbProviderServices.GetSpatialServices(this._resolver.Value, key, (Func <DbProviderServices>)(() => this))); }