Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntityDesign / Design / System / Data / Entity / Design / MetadataItemCollectionFactory.cs / 1305376 / MetadataItemCollectionFactory.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Entity; using System.Data.EntityModel; using System.Xml; using System.Collections.Generic; using System.Data.Common; using System.Data.Metadata.Edm; using System.Data.Mapping; using System.Data.Entity.Design.Common; using Microsoft.Build.Utilities; using System.Data.Entity.Design.SsdlGenerator; using System.Diagnostics; using System.Linq; namespace System.Data.Entity.Design { ////// Factory for creating ItemCollections. This class is to be used for /// design time scenarios. The consumers of the methods in this class /// will get an error list instead of an exception if there are errors in schema files. /// [CLSCompliant(false)] public static class MetadataItemCollectionFactory { ////// Create an EdmItemCollection with the passed in parameters. /// Add any errors caused during the ItemCollection creation /// to the error list passed in. /// /// /// ///[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")] public static EdmItemCollection CreateEdmItemCollection(IEnumerable readers, out IList errors) { System.Collections.ObjectModel.ReadOnlyCollection filePaths = null; return new EdmItemCollection(readers, filePaths, out errors); } /// /// Create an EdmItemCollection with the passed in parameters. /// Add any errors caused during the ItemCollection creation /// to the error list passed in. /// /// /// /// ///[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")] public static EdmItemCollection CreateEdmItemCollection(IEnumerable readers, Version targetEntityFrameworkVersion, out IList errors) { EDesignUtil.CheckTargetEntityFrameworkVersionArgument(targetEntityFrameworkVersion, "targetEntityFrameworkVersion"); EdmItemCollection edmItemCollection = CreateEdmItemCollection(readers, out errors); if (!errors.Any(e => e.Severity == EdmSchemaErrorSeverity.Error)) { CheckActualVersionAgainstTarget(targetEntityFrameworkVersion, EntityFrameworkVersions.ConvertToVersion(edmItemCollection.EdmVersion), errors); } return edmItemCollection; } private static void CheckActualVersionAgainstTarget(Version maxExpectedVersion, Version actualVersion, IList errors) { if (!(actualVersion <= maxExpectedVersion)) { errors.Add(new EdmSchemaError(Strings.TargetVersionSchemaVersionMismatch(maxExpectedVersion, actualVersion), (int)ModelBuilderErrorCode.SchemaVersionHigherThanTargetVersion, EdmSchemaErrorSeverity.Error)); } } /// /// Create an StoreItemCollection with the passed in parameters. /// Add any errors caused during the ItemCollection creation /// to the error list passed in. /// /// /// /// ///public static StoreItemCollection CreateStoreItemCollection(IEnumerable readers, out IList errors) { return new StoreItemCollection(readers, null, out errors); } /// /// Create an StoreItemCollection with the passed in parameters. /// Add any errors caused during the ItemCollection creation /// to the error list passed in. /// /// /// /// /// ///public static StoreItemCollection CreateStoreItemCollection( IEnumerable readers, Version targetEntityFrameworkVersion, out IList errors) { EDesignUtil.CheckTargetEntityFrameworkVersionArgument(targetEntityFrameworkVersion, "targetEntityFrameworkVersion"); return CreateStoreItemCollection(readers, out errors); } /// /// Create a StorageMappingItemCollection with the passed in parameters. /// Add any errors caused during the ItemCollection creation /// to the error list passed in. /// /// /// /// /// ///[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")] public static StorageMappingItemCollection CreateStorageMappingItemCollection(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable readers, out IList errors) { return new StorageMappingItemCollection(edmCollection, storeCollection, readers, null, out errors); } /// /// Create a StorageMappingItemCollection with the passed in parameters. /// Add any errors caused during the ItemCollection creation /// to the error list passed in. /// /// /// /// /// /// ///[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")] public static StorageMappingItemCollection CreateStorageMappingItemCollection( EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable readers, Version targetEntityFrameworkVersion, out IList errors) { EDesignUtil.CheckArgumentNull(edmCollection, "edmCollection"); EDesignUtil.CheckArgumentNull(storeCollection, "storeCollection"); EDesignUtil.CheckArgumentNull(readers, "readers"); EDesignUtil.CheckTargetEntityFrameworkVersionArgument(targetEntityFrameworkVersion, "targetEntityFrameworkVersion"); if (EntityFrameworkVersions.ConvertToVersion(edmCollection.EdmVersion) > targetEntityFrameworkVersion) { throw EDesignUtil.Argument("edmCollection"); } StorageMappingItemCollection storageMappingItemCollection = CreateStorageMappingItemCollection(edmCollection, storeCollection, readers, out errors); if (!errors.Any(e => e.Severity == EdmSchemaErrorSeverity.Error)) { CheckActualVersionAgainstTarget(targetEntityFrameworkVersion, EntityFrameworkVersions.ConvertToVersion(storageMappingItemCollection.MappingVersion), errors); } return storageMappingItemCollection; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- httpapplicationstate.cs
- HtmlMobileTextWriter.cs
- MenuTracker.cs
- FunctionMappingTranslator.cs
- PartitionedStream.cs
- PreviewPageInfo.cs
- NativeMethods.cs
- UrlAuthFailedErrorFormatter.cs
- GeometryValueSerializer.cs
- PageClientProxyGenerator.cs
- FilteredDataSetHelper.cs
- FileDialog.cs
- PackagePart.cs
- FixedSchema.cs
- WindowsFormsHostPropertyMap.cs
- EntityDataSourceDesignerHelper.cs
- LifetimeServices.cs
- TypedTableBase.cs
- TakeOrSkipWhileQueryOperator.cs
- XmlCDATASection.cs
- LockCookie.cs
- DispatchChannelSink.cs
- SafeFileMappingHandle.cs
- TrayIconDesigner.cs
- SystemFonts.cs
- InstancePersistence.cs
- EllipticalNodeOperations.cs
- Win32KeyboardDevice.cs
- FactoryRecord.cs
- Guid.cs
- WebSysDefaultValueAttribute.cs
- TextBoxAutoCompleteSourceConverter.cs
- ObjectStateFormatter.cs
- TextElementEnumerator.cs
- SqlAliaser.cs
- SqlRecordBuffer.cs
- ContextMenu.cs
- SpellerError.cs
- LocalizableResourceBuilder.cs
- MergePropertyDescriptor.cs
- AdornerPresentationContext.cs
- Command.cs
- CollectionConverter.cs
- IdentityNotMappedException.cs
- TreeBuilder.cs
- GenericTypeParameterBuilder.cs
- MouseActionValueSerializer.cs
- DataGridViewToolTip.cs
- CapabilitiesUse.cs
- SEHException.cs
- BuildResult.cs
- COM2ExtendedTypeConverter.cs
- SemanticBasicElement.cs
- ProvidePropertyAttribute.cs
- Menu.cs
- documentation.cs
- Cursors.cs
- XmlBoundElement.cs
- TextEffect.cs
- GlobalizationSection.cs
- BitmapEffect.cs
- OrderedDictionary.cs
- Win32SafeHandles.cs
- MenuItemStyleCollectionEditor.cs
- HybridObjectCache.cs
- ProcessHostFactoryHelper.cs
- SimpleWorkerRequest.cs
- XhtmlBasicValidationSummaryAdapter.cs
- XmlTypeMapping.cs
- TextBoxDesigner.cs
- validation.cs
- SharedHttpTransportManager.cs
- ObjectViewQueryResultData.cs
- CompositeCollectionView.cs
- TemplateNameScope.cs
- HttpException.cs
- PathSegmentCollection.cs
- HtmlInputButton.cs
- XmlBaseReader.cs
- ResumeStoryboard.cs
- LoginCancelEventArgs.cs
- ListParaClient.cs
- BaseCodeDomTreeGenerator.cs
- SqlDeflator.cs
- PowerModeChangedEventArgs.cs
- InstanceCollisionException.cs
- DataServiceClientException.cs
- DeviceFilterEditorDialog.cs
- WorkflowEventArgs.cs
- XsdDuration.cs
- TemplatedAdorner.cs
- PhysicalFontFamily.cs
- ActiveDocumentEvent.cs
- EmptyStringExpandableObjectConverter.cs
- HttpStreams.cs
- BitmapEffect.cs
- VirtualPathProvider.cs
- HtmlInputButton.cs
- DefaultShape.cs
- BridgeDataReader.cs