/// <summary> /// Builds and stores the workspace based on the given code first configuration. /// </summary> /// <param name = "databaseMapping">The code first EDM model.</param> public CodeFirstCachedMetadataWorkspace(DbDatabaseMapping databaseMapping) { //Contract.Requires(databaseMapping != null); _providerInfo = databaseMapping.Database.GetProviderInfo(); _metadataWorkspace = databaseMapping.ToMetadataWorkspace(); _assemblies = databaseMapping.Model.GetClrTypes().Select(t => t.Assembly).Distinct().ToList(); Contract.Assert( databaseMapping.Model.Containers.Count() == 1, "Expecting Code First to create only one container."); _defaultContainerName = databaseMapping.Model.Containers.First().Name; }