Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- // // 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
- CommonRemoteMemoryBlock.cs
- COM2PictureConverter.cs
- DrawingBrush.cs
- SqlDependency.cs
- PagePropertiesChangingEventArgs.cs
- SelectionWordBreaker.cs
- GradientBrush.cs
- Lasso.cs
- DecimalAnimation.cs
- ImageUrlEditor.cs
- TemplatedWizardStep.cs
- XmlNotation.cs
- DataTableMappingCollection.cs
- Codec.cs
- CustomAttribute.cs
- _SingleItemRequestCache.cs
- ObjectStateManager.cs
- StaticTextPointer.cs
- SendKeys.cs
- Intellisense.cs
- DeferredElementTreeState.cs
- ParenExpr.cs
- Rotation3DKeyFrameCollection.cs
- BaseProcessor.cs
- IImplicitResourceProvider.cs
- SettingsBindableAttribute.cs
- PersonalizationStateInfo.cs
- TrustManagerPromptUI.cs
- PageAdapter.cs
- WindowsPrincipal.cs
- MetafileHeaderWmf.cs
- ColumnWidthChangingEvent.cs
- MetabaseSettingsIis7.cs
- AutomationAttributeInfo.cs
- LinkConverter.cs
- SendKeys.cs
- ResourcePermissionBase.cs
- AndCondition.cs
- WindowsListViewSubItem.cs
- RemoteCryptoSignHashRequest.cs
- FontStyleConverter.cs
- Schema.cs
- DataGrid.cs
- MetabaseServerConfig.cs
- GridItemProviderWrapper.cs
- WebControlsSection.cs
- CommandPlan.cs
- ExceptionUtility.cs
- GacUtil.cs
- ItemsChangedEventArgs.cs
- TdsRecordBufferSetter.cs
- WindowsPrincipal.cs
- SerializationHelper.cs
- EmulateRecognizeCompletedEventArgs.cs
- CqlParser.cs
- ChtmlPhoneCallAdapter.cs
- ObjRef.cs
- RemoteWebConfigurationHostServer.cs
- DecoderNLS.cs
- ReadContentAsBinaryHelper.cs
- TrackingDataItemValue.cs
- Condition.cs
- PixelShader.cs
- CacheDict.cs
- MergeFilterQuery.cs
- WebPartVerbsEventArgs.cs
- DataListCommandEventArgs.cs
- ScrollChrome.cs
- TextElementCollectionHelper.cs
- DataColumnChangeEvent.cs
- HostProtectionException.cs
- TextBoxRenderer.cs
- VectorAnimationUsingKeyFrames.cs
- SettingsAttributeDictionary.cs
- AmbientValueAttribute.cs
- AutoCompleteStringCollection.cs
- EmptyCollection.cs
- Underline.cs
- DBCommand.cs
- AnimationLayer.cs
- CommandField.cs
- EmptyImpersonationContext.cs
- QuaternionKeyFrameCollection.cs
- util.cs
- PaintEvent.cs
- Window.cs
- DragDrop.cs
- DataSysAttribute.cs
- FragmentQueryProcessor.cs
- WindowsTab.cs
- DateTimeFormat.cs
- OutputCacheProfileCollection.cs
- PackWebRequest.cs
- CodeRegionDirective.cs
- bidPrivateBase.cs
- CustomErrorCollection.cs
- String.cs
- MouseWheelEventArgs.cs
- EncryptedKeyIdentifierClause.cs
- SingleResultAttribute.cs