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());
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 5
0
        /// <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);
            }
        }