Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataWeb / Server / System / Data / Services / Caching / MetadataCacheItem.cs / 1 / MetadataCacheItem.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a class to cache metadata information. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Caching { using System; using System.Diagnostics; using System.Collections.Generic; using System.Data.Services.Providers; ///Use this class to cache metadata for providers. internal class MetadataCacheItem { #region Private fields. ///list of top level entity sets private readonly DictionaryentitySets; /// Collection of service operations, keyed by name. private readonly DictionaryserviceOperations; /// Target type for the data provider. private readonly Type type; ///Cache of resource properties per type. private readonly DictionarytypeCache; /// Service configuration information. private DataServiceConfiguration configuration; ///If the metadata is compliant with the edm schema v1.0 other false, indicating that we need to use 1.1 schema /// 1> Edm Schema 1.0 FunctionImport returns only collection of scalars or collection of entities private bool edmVersion1Schema = true; #endregion Private fields. ///Initializes a new /// Type of data context for which metadata will be generated. internal MetadataCacheItem(Type type) { Debug.Assert(type != null, "type != null"); this.serviceOperations = new Dictionaryinstance. (); this.typeCache = new Dictionary (); this.entitySets = new Dictionary (); this.type = type; } #region Properties. /// Service configuration information. internal DataServiceConfiguration Configuration { [DebuggerStepThrough] get { return this.configuration; } set { Debug.Assert(value != null, "value != null"); Debug.Assert(this.configuration == null, "this.configuration == null -- otherwise it's being set more than once"); this.configuration = value; } } ///Collection of service operations, keyed by name. internal DictionaryServiceOperations { [DebuggerStepThrough] get { return this.serviceOperations; } } /// Cache of resource properties per type. internal DictionaryTypeCache { [DebuggerStepThrough] get { return this.typeCache; } } /// list of top level entity sets internal DictionaryEntitySets { [DebuggerStepThrough] get { return this.entitySets; } } /// Target type for the data provider. internal Type Type { [DebuggerStepThrough] get { return this.type; } } ///Returns true if the metadata adheres to edm v1 constraints otherwise returns false. internal bool EdmVersion1Schema { get { return this.edmVersion1Schema; } set { this.edmVersion1Schema = value; } } #endregion Properties. ///Seals this item instance and prevents further changes. ////// This method should be called after the configuration has been set up and before it's placed on the /// metadata cache for sharing. /// internal void Seal() { this.configuration.Seal(); foreach (ResourceType t in this.typeCache.Values) { t.TrimExcess(); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a class to cache metadata information. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Caching { using System; using System.Diagnostics; using System.Collections.Generic; using System.Data.Services.Providers; ///Use this class to cache metadata for providers. internal class MetadataCacheItem { #region Private fields. ///list of top level entity sets private readonly DictionaryentitySets; /// Collection of service operations, keyed by name. private readonly DictionaryserviceOperations; /// Target type for the data provider. private readonly Type type; ///Cache of resource properties per type. private readonly DictionarytypeCache; /// Service configuration information. private DataServiceConfiguration configuration; ///If the metadata is compliant with the edm schema v1.0 other false, indicating that we need to use 1.1 schema /// 1> Edm Schema 1.0 FunctionImport returns only collection of scalars or collection of entities private bool edmVersion1Schema = true; #endregion Private fields. ///Initializes a new /// Type of data context for which metadata will be generated. internal MetadataCacheItem(Type type) { Debug.Assert(type != null, "type != null"); this.serviceOperations = new Dictionaryinstance. (); this.typeCache = new Dictionary (); this.entitySets = new Dictionary (); this.type = type; } #region Properties. /// Service configuration information. internal DataServiceConfiguration Configuration { [DebuggerStepThrough] get { return this.configuration; } set { Debug.Assert(value != null, "value != null"); Debug.Assert(this.configuration == null, "this.configuration == null -- otherwise it's being set more than once"); this.configuration = value; } } ///Collection of service operations, keyed by name. internal DictionaryServiceOperations { [DebuggerStepThrough] get { return this.serviceOperations; } } /// Cache of resource properties per type. internal DictionaryTypeCache { [DebuggerStepThrough] get { return this.typeCache; } } /// list of top level entity sets internal DictionaryEntitySets { [DebuggerStepThrough] get { return this.entitySets; } } /// Target type for the data provider. internal Type Type { [DebuggerStepThrough] get { return this.type; } } ///Returns true if the metadata adheres to edm v1 constraints otherwise returns false. internal bool EdmVersion1Schema { get { return this.edmVersion1Schema; } set { this.edmVersion1Schema = value; } } #endregion Properties. ///Seals this item instance and prevents further changes. ////// This method should be called after the configuration has been set up and before it's placed on the /// metadata cache for sharing. /// internal void Seal() { this.configuration.Seal(); foreach (ResourceType t in this.typeCache.Values) { t.TrimExcess(); } } } } // 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
- XmlSchemaGroup.cs
- ContextMarshalException.cs
- DataControlFieldHeaderCell.cs
- basenumberconverter.cs
- FilteredDataSetHelper.cs
- DependencyObjectProvider.cs
- HandlerFactoryWrapper.cs
- DurationConverter.cs
- Soap.cs
- IUnknownConstantAttribute.cs
- Profiler.cs
- UntypedNullExpression.cs
- LinqDataSourceHelper.cs
- RequestCacheManager.cs
- XmlSchemaSimpleTypeUnion.cs
- ItemCheckEvent.cs
- Int64.cs
- IdentitySection.cs
- XmlCompatibilityReader.cs
- PageHandlerFactory.cs
- ClientConfigurationSystem.cs
- CharacterMetricsDictionary.cs
- Properties.cs
- TypeGeneratedEventArgs.cs
- MetadataException.cs
- URLIdentityPermission.cs
- ColumnClickEvent.cs
- TextAdaptor.cs
- RowUpdatedEventArgs.cs
- Queue.cs
- ClientSideQueueItem.cs
- ConfigDefinitionUpdates.cs
- SocketAddress.cs
- SystemIPv6InterfaceProperties.cs
- XXXOnTypeBuilderInstantiation.cs
- DocumentReferenceCollection.cs
- ObjectHandle.cs
- HandlerFactoryCache.cs
- XmlDataProvider.cs
- GetReadStreamResult.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- GlyphRunDrawing.cs
- IndependentlyAnimatedPropertyMetadata.cs
- TimeSpan.cs
- EncoderParameters.cs
- QueryResult.cs
- EndOfStreamException.cs
- PersonalizationEntry.cs
- MetaDataInfo.cs
- CacheOutputQuery.cs
- GeneralTransform3DCollection.cs
- NameValuePermission.cs
- ModelUIElement3D.cs
- LookupBindingPropertiesAttribute.cs
- tooltip.cs
- NativeMethodsOther.cs
- RemoteHelper.cs
- EllipseGeometry.cs
- XPathChildIterator.cs
- ToolboxItemAttribute.cs
- ZoomPercentageConverter.cs
- SplineKeyFrames.cs
- WindowsListViewGroupSubsetLink.cs
- OutputCacheProfile.cs
- TextTreeText.cs
- SqlSelectStatement.cs
- CreateUserErrorEventArgs.cs
- TextParaClient.cs
- RegularExpressionValidator.cs
- SoapFormatterSinks.cs
- ReflectionUtil.cs
- IxmlLineInfo.cs
- DBCommandBuilder.cs
- columnmapfactory.cs
- CodeDirectoryCompiler.cs
- FontWeightConverter.cs
- BaseDataBoundControl.cs
- AuthorizationRuleCollection.cs
- TreeNode.cs
- ByteAnimationBase.cs
- PasswordValidationException.cs
- NamespaceDisplay.xaml.cs
- RowVisual.cs
- EpmContentSerializerBase.cs
- UpdatableWrapper.cs
- X509ChainElement.cs
- ZipIOModeEnforcingStream.cs
- UseLicense.cs
- GlobalEventManager.cs
- AutomationElement.cs
- HandlerWithFactory.cs
- NamespaceEmitter.cs
- RetrieveVirtualItemEventArgs.cs
- HandlerBase.cs
- SchemaCollectionCompiler.cs
- SqlClientPermission.cs
- MailBnfHelper.cs
- RenderData.cs
- SerialErrors.cs
- WebBrowserHelper.cs