private static object GetSpatialValueFromProviderValue(object spatialValue, PrimitiveType parameterType, EntityConnection connection) { DbProviderServices providerServices = DbProviderServices.GetProviderServices(connection.StoreConnection); StoreItemCollection storeItemCollection = (StoreItemCollection)connection.GetMetadataWorkspace().GetItemCollection(DataSpace.SSpace); DbSpatialServices spatialServices = providerServices.GetSpatialServices(storeItemCollection.StoreProviderManifestToken); if (Helper.IsGeographicType(parameterType)) { return spatialServices.GeographyFromProviderValue(spatialValue); } else { Debug.Assert(Helper.IsGeometricType(parameterType)); return spatialServices.GeometryFromProviderValue(spatialValue); } }
/// <summary> /// Inits the data. /// </summary> protected void InitData() { var core = new System.Data.EntityClient.EntityConnection( @"metadata=res://Core/Schema.Core.csdl|res://Core/Schema.Core.msl|res://Core/Schema.Core.ssdl;provider=System.Data.SqlClient;provider connection string="""""); var portal = new System.Data.EntityClient.EntityConnection( @"metadata=res://*/Schema.RBEPortal.csdl|res://*/Schema.RBEPortal.ssdl|res://*/Schema.RBEPortal.msl;provider=System.Data.SqlClient;provider connection string="""""); _SharedConnection = new System.Data.SqlClient.SqlConnection(Settings.ConnectionString); base.CoreData = new CoreData(new System.Data.EntityClient.EntityConnection(core.GetMetadataWorkspace(), _SharedConnection), false); base.CoreData.ObjectContext.ContextOptions.ProxyCreationEnabled = false; _RBEPortalData = new Schema.RBEPortalData(new System.Data.EntityClient.EntityConnection(portal.GetMetadataWorkspace(), _SharedConnection), false); _RBEPortalData.ObjectContext.ContextOptions.ProxyCreationEnabled = false; }