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
- ControlEvent.cs
- WindowsScrollBar.cs
- GridView.cs
- ServiceMemoryGates.cs
- WebMessageEncoderFactory.cs
- ErrorProvider.cs
- SynchronizationContext.cs
- DataRowView.cs
- VerificationAttribute.cs
- SqlDataSourceEnumerator.cs
- ProcessModule.cs
- X509Chain.cs
- TrackingServices.cs
- HwndHostAutomationPeer.cs
- PagesSection.cs
- InternalCache.cs
- LoginName.cs
- StringCollection.cs
- Soap.cs
- MouseCaptureWithinProperty.cs
- SqlClientPermission.cs
- InspectionWorker.cs
- BamlRecordHelper.cs
- Types.cs
- EventSetter.cs
- TextEffect.cs
- ArcSegment.cs
- TableDetailsRow.cs
- BackoffTimeoutHelper.cs
- FormViewRow.cs
- WsdlInspector.cs
- UniqueSet.cs
- HwndMouseInputProvider.cs
- RangeValidator.cs
- VirtualPathExtension.cs
- RequestCacheManager.cs
- Matrix3D.cs
- PageRequestManager.cs
- PriorityItem.cs
- DbMetaDataCollectionNames.cs
- SoapSchemaExporter.cs
- ToolStripScrollButton.cs
- RootProfilePropertySettingsCollection.cs
- NotSupportedException.cs
- ConfigurationSectionGroup.cs
- ComplexObject.cs
- PlaceHolder.cs
- XslCompiledTransform.cs
- MDIClient.cs
- ConditionValidator.cs
- StateFinalizationDesigner.cs
- DrawingBrush.cs
- TextContainerChangedEventArgs.cs
- ByteAnimation.cs
- CustomError.cs
- SizeChangedInfo.cs
- BorderGapMaskConverter.cs
- precedingsibling.cs
- ReflectionPermission.cs
- Visual3DCollection.cs
- ToolboxComponentsCreatedEventArgs.cs
- MimeFormReflector.cs
- ComboBox.cs
- WebDescriptionAttribute.cs
- NativeMethods.cs
- RemoteCryptoTokenProvider.cs
- CustomLineCap.cs
- TypeListConverter.cs
- GradientStop.cs
- TypeKeyValue.cs
- CodeArrayCreateExpression.cs
- HWStack.cs
- SoapReflectionImporter.cs
- Latin1Encoding.cs
- DataExchangeServiceBinder.cs
- ApplyImportsAction.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- InputLanguageSource.cs
- HttpModuleAction.cs
- EDesignUtil.cs
- hwndwrapper.cs
- TextEditorTyping.cs
- NavigateEvent.cs
- XmlSchemaGroup.cs
- LinkedList.cs
- WorkflowEnvironment.cs
- ProcessProtocolHandler.cs
- MediaPlayer.cs
- ReachDocumentReferenceSerializerAsync.cs
- EtwTrace.cs
- FixedSOMElement.cs
- EventManager.cs
- _DigestClient.cs
- GridLengthConverter.cs
- FilteredDataSetHelper.cs
- CompareValidator.cs
- XmlQualifiedName.cs
- IIS7UserPrincipal.cs
- Bidi.cs
- BufferedGraphicsContext.cs