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
- AffineTransform3D.cs
- Header.cs
- DynamicResourceExtensionConverter.cs
- PopOutPanel.cs
- ValidationPropertyAttribute.cs
- FileVersion.cs
- ServicePointManager.cs
- HtmlInputButton.cs
- XmlSchemaComplexContent.cs
- DoubleCollectionConverter.cs
- XamlFrame.cs
- EventLogException.cs
- ProtectedConfigurationSection.cs
- MDIWindowDialog.cs
- EventSchemaTraceListener.cs
- CallId.cs
- CompoundFileIOPermission.cs
- DataContractSerializerSection.cs
- RIPEMD160.cs
- Graphics.cs
- ScrollChrome.cs
- Compilation.cs
- TypeLoadException.cs
- SafeArrayRankMismatchException.cs
- CircleHotSpot.cs
- UnsafeNativeMethodsTablet.cs
- UnionCqlBlock.cs
- RectValueSerializer.cs
- CommandManager.cs
- ButtonColumn.cs
- CompModSwitches.cs
- DuplicateWaitObjectException.cs
- TcpWorkerProcess.cs
- MobileTextWriter.cs
- MessageEncoder.cs
- DataTemplate.cs
- CssStyleCollection.cs
- MultiPartWriter.cs
- MimeMultiPart.cs
- GAC.cs
- PerspectiveCamera.cs
- RawStylusInputCustomDataList.cs
- SQLMoney.cs
- RegisteredExpandoAttribute.cs
- EntityContainerAssociationSetEnd.cs
- DataPagerFieldCollection.cs
- DataGridViewCell.cs
- ProxyManager.cs
- CanonicalXml.cs
- XamlFilter.cs
- SmiContextFactory.cs
- DiscoveryDocumentSerializer.cs
- DecimalAnimationUsingKeyFrames.cs
- objectresult_tresulttype.cs
- NonValidatingSecurityTokenAuthenticator.cs
- WindowsTreeView.cs
- Process.cs
- IfAction.cs
- ValueCollectionParameterReader.cs
- ContentHostHelper.cs
- EventHandlerList.cs
- PerformanceCounterManager.cs
- Model3D.cs
- dsa.cs
- Cloud.cs
- RSAPKCS1SignatureFormatter.cs
- StateFinalizationActivity.cs
- HtmlInputHidden.cs
- WebException.cs
- ProxyWebPartConnectionCollection.cs
- TreeViewBindingsEditor.cs
- RTTrackingProfile.cs
- FakeModelItemImpl.cs
- TextTreeRootNode.cs
- DbException.cs
- ContextMenuAutomationPeer.cs
- OdbcCommandBuilder.cs
- FormViewDeletedEventArgs.cs
- TypeUtil.cs
- DecoratedNameAttribute.cs
- BrowserCapabilitiesCompiler.cs
- CollectionViewGroup.cs
- ActionItem.cs
- XsltOutput.cs
- XhtmlTextWriter.cs
- StdValidatorsAndConverters.cs
- SqlBinder.cs
- CFGGrammar.cs
- CatchBlock.cs
- ProfilePropertyNameValidator.cs
- BufferBuilder.cs
- ContentElement.cs
- Cursor.cs
- DataGridViewSelectedColumnCollection.cs
- ResourceDictionary.cs
- Calendar.cs
- Roles.cs
- CachedCompositeFamily.cs
- ScrollBarRenderer.cs
- ConfigXmlAttribute.cs