Example #1
0
        internal static void AssertValid(this DbDatabaseMapping databaseMapping, bool shouldThrow)
        {
            var storageItemMappingCollection = databaseMapping.ToStorageMappingItemCollection();

            var errors = new List <EdmSchemaError>();

            storageItemMappingCollection.GenerateViews(errors);

            if (errors.Any())
            {
                var errorMessage = new StringBuilder();
                errorMessage.AppendLine();

                foreach (var error in errors)
                {
                    errorMessage.AppendLine(error.ToString());
                }

                if (shouldThrow)
                {
                    throw new MappingException(errorMessage.ToString());
                }

                Assert.True(false, errorMessage.ToString());
            }
        }
Example #2
0
        internal static StorageMappingItemCollection ToStorageMappingItemCollection(this DbDatabaseMapping databaseMapping)
        {
            DebugCheck.NotNull(databaseMapping);

            return(databaseMapping.ToStorageMappingItemCollection(
                       new EdmItemCollection(databaseMapping.Model),
                       new StoreItemCollection(databaseMapping.Database)));
        }
        public static StorageMappingItemCollection ToStorageMappingItemCollection(
            this DbDatabaseMapping databaseMapping)
        {
            DebugCheck.NotNull(databaseMapping);

            return(databaseMapping.ToStorageMappingItemCollection(
                       databaseMapping.Model.ToEdmItemCollection(),
                       databaseMapping.Database.ToStoreItemCollection()));
        }
Example #4
0
        public static MetadataWorkspace ToMetadataWorkspace(
            this DbDatabaseMapping databaseMapping)
        {
            EdmItemCollection            itemCollection               = new EdmItemCollection(databaseMapping.Model);
            StoreItemCollection          storeItemCollection          = new StoreItemCollection(databaseMapping.Database);
            StorageMappingItemCollection storageMappingItemCollection = databaseMapping.ToStorageMappingItemCollection(itemCollection, storeItemCollection);
            MetadataWorkspace            metadataWorkspace            = new MetadataWorkspace((Func <EdmItemCollection>)(() => itemCollection), (Func <StoreItemCollection>)(() => storeItemCollection), (Func <StorageMappingItemCollection>)(() => storageMappingItemCollection));

            new CodeFirstOSpaceLoader((CodeFirstOSpaceTypeFactory)null).LoadTypes(itemCollection, (ObjectItemCollection)metadataWorkspace.GetItemCollection(DataSpace.OSpace));
            return(metadataWorkspace);
        }
        public static MetadataWorkspace ToMetadataWorkspace(this DbDatabaseMapping databaseMapping)
        {
            DebugCheck.NotNull(databaseMapping);

            var itemCollection               = new EdmItemCollection(databaseMapping.Model);
            var storeItemCollection          = new StoreItemCollection(databaseMapping.Database);
            var storageMappingItemCollection = databaseMapping.ToStorageMappingItemCollection(itemCollection, storeItemCollection);

            var workspace = new MetadataWorkspace(
                () => itemCollection,
                () => storeItemCollection,
                () => storageMappingItemCollection);

            new CodeFirstOSpaceLoader().LoadTypes(itemCollection, (ObjectItemCollection)workspace.GetItemCollection(DataSpace.OSpace));

            return(workspace);
        }
        public static MetadataWorkspace ToMetadataWorkspace(this DbDatabaseMapping databaseMapping)
        {
            DebugCheck.NotNull(databaseMapping);

            var metadataWorkspace = new MetadataWorkspace();

            var itemCollection
                = databaseMapping.Model.ToEdmItemCollection();
            var storeItemCollection
                = databaseMapping.Database.ToStoreItemCollection();
            var storageMappingItemCollection
                = databaseMapping.ToStorageMappingItemCollection(itemCollection, storeItemCollection);

            metadataWorkspace.RegisterItemCollection(itemCollection);
            metadataWorkspace.RegisterItemCollection(storeItemCollection);
            metadataWorkspace.RegisterItemCollection(storageMappingItemCollection);

            return(metadataWorkspace);
        }