public LegacyDbProviderManifestWrapper(Legacy.DbProviderManifest wrappedProviderManifest) { Debug.Assert(wrappedProviderManifest != null, "wrappedProviderManifest != null"); _wrappedProviderManifest = wrappedProviderManifest; _legacyStoreTypes = _wrappedProviderManifest.GetStoreTypes().ToArray(); _storeTypes = new ReadOnlyCollection <PrimitiveType>( _legacyStoreTypes.Select(t => ConvertFromLegacyStoreEdmType(t, this)).ToList()); }
public LegacyDbProviderManifestWrapper(Legacy.DbProviderManifest wrappedProviderManifest) { Debug.Assert(wrappedProviderManifest != null, "wrappedProviderManifest != null"); _wrappedProviderManifest = wrappedProviderManifest; _legacyStoreTypes = _wrappedProviderManifest.GetStoreTypes().ToArray(); _storeTypes = new ReadOnlyCollection<PrimitiveType>( _legacyStoreTypes.Select(t => ConvertFromLegacyStoreEdmType(t, this)).ToList()); }
public void GetStoreTypes_returns_all_store_types_correctly() { var storeTypes = new LegacyDbProviderManifestWrapper(LegacyProviderManifest) .GetStoreTypes() .OrderBy(t => t.Name) .ToArray(); var legacyStoreTypes = LegacyProviderManifest .GetStoreTypes() .OrderBy(t => t.Name) .ToArray(); Assert.Equal(storeTypes.Length, legacyStoreTypes.Length); for (var idx = 0; idx < storeTypes.Length; idx++) { TypeUsageVerificationHelper.VerifyEdmTypesEquivalent(legacyStoreTypes[idx], storeTypes[idx]); } }
/// <summary> /// checks if the schemaKey refers to the provider manifest schema key /// and if true, loads the provider manifest /// </summary> /// <param name="connection">The connection where the store manifest is loaded from</param> /// <param name="checkForSystemNamespace">Check for System namespace</param> /// <returns>The provider manifest object that was loaded</returns> private void LoadProviderManifest(DbProviderManifest storeManifest, bool checkForSystemNamespace) { foreach (PrimitiveType primitiveType in storeManifest.GetStoreTypes()) { //Add it to the collection and the primitive type maps this.AddInternal(primitiveType); _primitiveTypeMaps.Add(primitiveType); } foreach (EdmFunction function in storeManifest.GetStoreFunctions()) { AddInternal(function); } }
/// <summary> /// Get a primitive type when converting a CSDL schema /// </summary> /// <param name="scalarType">The schema type representing the primitive type</param> /// <param name="providerManifest">The provider manifest for retrieving the store types</param> private static PrimitiveType GetPrimitiveType(Som.ScalarType scalarType, DbProviderManifest providerManifest) { PrimitiveType returnValue = null; string scalarTypeName = scalarType.Name; foreach (PrimitiveType primitiveType in providerManifest.GetStoreTypes()) { if (primitiveType.Name == scalarTypeName) { returnValue = primitiveType; break; } } Debug.Assert(scalarType != null, "Som scalar type should always resolve to a primitive type"); return returnValue; }
/// <summary> /// checks if the schemaKey refers to the provider manifest schema key /// and if true, loads the provider manifest /// </summary> /// <param name="connection">The connection where the store manifest is loaded from</param> /// <returns>The provider manifest object that was loaded</returns> private void LoadProviderManifest(DbProviderManifest storeManifest) { foreach (var primitiveType in storeManifest.GetStoreTypes()) { //Add it to the collection and the primitive type maps AddInternal(primitiveType); _primitiveTypeMaps.Add(primitiveType); } foreach (var function in storeManifest.GetStoreFunctions()) { AddInternal(function); } }