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
- CachedPathData.cs
- LabelAutomationPeer.cs
- FormViewModeEventArgs.cs
- EdmItemCollection.cs
- X509CertificateValidationMode.cs
- LookupTables.cs
- ViewDesigner.cs
- HtmlLink.cs
- SystemIPAddressInformation.cs
- ActivationServices.cs
- __FastResourceComparer.cs
- GacUtil.cs
- CookieHandler.cs
- WhereQueryOperator.cs
- ResourceKey.cs
- BufferAllocator.cs
- TreeNode.cs
- CodeExpressionRuleDeclaration.cs
- GeometryGroup.cs
- BindingContext.cs
- Root.cs
- ListenerConnectionModeReader.cs
- Camera.cs
- Ops.cs
- SafeCryptoHandles.cs
- TypeSystem.cs
- MethodExpr.cs
- DataSourceSelectArguments.cs
- PrintingPermission.cs
- PublisherIdentityPermission.cs
- CodeLabeledStatement.cs
- DbParameterCollectionHelper.cs
- EntityTransaction.cs
- OdbcEnvironmentHandle.cs
- GPRECT.cs
- TriState.cs
- DiagnosticTrace.cs
- ApplyTemplatesAction.cs
- Pkcs9Attribute.cs
- mda.cs
- CompositeFontInfo.cs
- WindowsSecurityToken.cs
- XmlDataProvider.cs
- MenuItemBinding.cs
- ToolStripOverflowButton.cs
- BinaryWriter.cs
- EventLogEntryCollection.cs
- LifetimeServices.cs
- DesignerSerializationVisibilityAttribute.cs
- ImportOptions.cs
- XmlObjectSerializerWriteContextComplex.cs
- DataFormats.cs
- X509PeerCertificateAuthentication.cs
- CommandEventArgs.cs
- ChameleonKey.cs
- ClientTargetCollection.cs
- ClosureBinding.cs
- versioninfo.cs
- ScrollViewerAutomationPeer.cs
- ScriptBehaviorDescriptor.cs
- UnauthorizedWebPart.cs
- Selector.cs
- TypeResolvingOptions.cs
- ElasticEase.cs
- TextViewElement.cs
- ScopelessEnumAttribute.cs
- ScriptResourceMapping.cs
- AsymmetricSignatureDeformatter.cs
- WindowsTokenRoleProvider.cs
- documentsequencetextview.cs
- StronglyTypedResourceBuilder.cs
- WindowInteropHelper.cs
- EventRouteFactory.cs
- contentDescriptor.cs
- GetPageCompletedEventArgs.cs
- XmlDocumentType.cs
- DrawingImage.cs
- AppDomainUnloadedException.cs
- QueueProcessor.cs
- WebPartActionVerb.cs
- AvTrace.cs
- MethodRental.cs
- StoragePropertyMapping.cs
- GeneralTransformGroup.cs
- WindowsGrip.cs
- CatalogZone.cs
- Assembly.cs
- OpCodes.cs
- ConsoleEntryPoint.cs
- WeakHashtable.cs
- Soap.cs
- WorkflowViewService.cs
- dtdvalidator.cs
- WindowCollection.cs
- EventProperty.cs
- XmlNamedNodeMap.cs
- XmlDesigner.cs
- WS2007HttpBindingCollectionElement.cs
- Int16AnimationBase.cs
- AVElementHelper.cs