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
- LayoutTableCell.cs
- QuadraticBezierSegment.cs
- HashAlgorithm.cs
- _ConnectStream.cs
- SpellerInterop.cs
- AliasExpr.cs
- SimpleExpression.cs
- SByte.cs
- WebBaseEventKeyComparer.cs
- FontFamilyIdentifier.cs
- XmlArrayItemAttribute.cs
- InputLanguageSource.cs
- DesignerTransaction.cs
- InvokeProviderWrapper.cs
- TemplateContentLoader.cs
- ObjectReaderCompiler.cs
- DecimalAnimationBase.cs
- NavigateEvent.cs
- SlipBehavior.cs
- ContentOperations.cs
- XsltLibrary.cs
- OdbcCommand.cs
- BigInt.cs
- XmlDictionaryReaderQuotas.cs
- DoubleAnimationUsingPath.cs
- HtmlTable.cs
- PropertyPath.cs
- RoutedCommand.cs
- DataSourceView.cs
- Overlapped.cs
- ApplicationGesture.cs
- FileSecurity.cs
- HandoffBehavior.cs
- ToolStripSplitStackLayout.cs
- DefaultSettingsSection.cs
- GroupByExpressionRewriter.cs
- PolicyUtility.cs
- DesignerSerializationVisibilityAttribute.cs
- ClientConfigPaths.cs
- TypedTableGenerator.cs
- StructuredCompositeActivityDesigner.cs
- WindowsPrincipal.cs
- NotifyParentPropertyAttribute.cs
- XmlDataCollection.cs
- ToolboxItemFilterAttribute.cs
- StringUtil.cs
- SignatureConfirmationElement.cs
- TrackingDataItemValue.cs
- ConnectionManagementSection.cs
- RefType.cs
- TokenBasedSet.cs
- BuildDependencySet.cs
- BulletDecorator.cs
- ActivityExecutor.cs
- BamlStream.cs
- TextFragmentEngine.cs
- Msec.cs
- WsdlInspector.cs
- RankException.cs
- PropertyMap.cs
- QueryStringHandler.cs
- PassportAuthentication.cs
- SHA256Managed.cs
- Error.cs
- HttpDebugHandler.cs
- IISUnsafeMethods.cs
- MediaTimeline.cs
- mil_sdk_version.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- MissingMemberException.cs
- ReflectionUtil.cs
- SeekableReadStream.cs
- CompoundFileStorageReference.cs
- SoapFaultCodes.cs
- ToolStripMenuItemCodeDomSerializer.cs
- AnchoredBlock.cs
- CustomErrorCollection.cs
- CompositeActivityTypeDescriptorProvider.cs
- XmlException.cs
- BinaryObjectInfo.cs
- SystemIPInterfaceProperties.cs
- DynamicEntity.cs
- SynchronizationFilter.cs
- HttpCookie.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- CodeTypeParameterCollection.cs
- PhonemeEventArgs.cs
- CompiledRegexRunnerFactory.cs
- ProcessHostMapPath.cs
- WebBrowser.cs
- QuadraticBezierSegment.cs
- Style.cs
- MergeLocalizationDirectives.cs
- ListViewEditEventArgs.cs
- CqlIdentifiers.cs
- Image.cs
- ZipIOBlockManager.cs
- FunctionDetailsReader.cs
- PreDigestedSignedInfo.cs
- CoreSwitches.cs