Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / FacetEnabledSchemaElement.cs / 1305376 / FacetEnabledSchemaElement.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.Metadata.Edm; using System.Diagnostics; using System.Xml; namespace System.Data.EntityModel.SchemaObjectModel { abstract class FacetEnabledSchemaElement : SchemaElement { protected SchemaType _type = null; protected string _unresolvedType = null; protected TypeUsageBuilder _typeUsageBuilder; #region public properties internal new Function ParentElement { get { return base.ParentElement as Function; } } internal SchemaType Type { get { return _type; } } internal virtual TypeUsage TypeUsage { get { return _typeUsageBuilder.TypeUsage; } } internal bool HasUserDefinedFacets { get { return _typeUsageBuilder.HasUserDefinedFacets; } } #endregion #region Internal Properties internal string UnresolvedType { get { return _unresolvedType; } set { _unresolvedType = value; } } #endregion #region Public Methods ////// /// /// internal FacetEnabledSchemaElement(Function parentElement) : base(parentElement) { } internal FacetEnabledSchemaElement(SchemaElement parentElement) : base(parentElement) { } #endregion #region Internal Methods internal override void ResolveTopLevelNames() { base.ResolveTopLevelNames(); Debug.Assert(this.Type == null, "This must be resolved exactly once"); if (Schema.ResolveTypeName(this, UnresolvedType, out _type)) { if (!(_type is ScalarType) && Schema.DataModel != SchemaDataModelOption.EntityDataModel) { AddError(ErrorCode.FunctionWithNonScalarTypeNotSupported, EdmSchemaErrorSeverity.Error, this, System.Data.Entity.Strings.FunctionWithNonScalarTypeNotSupported(_type.FQName, this.ParentElement.FQName)); return; } if (Schema.DataModel == SchemaDataModelOption.ProviderManifestModel && _typeUsageBuilder.HasUserDefinedFacets) { bool isInProviderManifest = Schema.DataModel == SchemaDataModelOption.ProviderManifestModel; _typeUsageBuilder.ValidateAndSetTypeUsage((ScalarType)_type, !isInProviderManifest); } } } internal void ValidateAndSetTypeUsage(ScalarType scalar) { _typeUsageBuilder.ValidateAndSetTypeUsage(scalar, false); } #endregion protected override bool HandleAttribute(XmlReader reader) { if (base.HandleAttribute(reader)) { return true; } else if (_typeUsageBuilder.HandleAttribute(reader)) { return true; } return false; } } } // 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
- RootNamespaceAttribute.cs
- SQLMoneyStorage.cs
- StorageAssociationSetMapping.cs
- HtmlInputCheckBox.cs
- IfAction.cs
- GridViewSelectEventArgs.cs
- GcSettings.cs
- DateTimeOffsetStorage.cs
- PixelShader.cs
- BinHexDecoder.cs
- Reference.cs
- serverconfig.cs
- ListViewGroupCollectionEditor.cs
- ClientCultureInfo.cs
- AssociationTypeEmitter.cs
- HttpRequestTraceRecord.cs
- DocumentOrderQuery.cs
- Guid.cs
- ObjectPersistData.cs
- IdentitySection.cs
- _AutoWebProxyScriptWrapper.cs
- ToolStripDropDownClosingEventArgs.cs
- NetStream.cs
- AppModelKnownContentFactory.cs
- OutKeywords.cs
- FixedTextSelectionProcessor.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- ScrollItemPattern.cs
- ElementUtil.cs
- ImageClickEventArgs.cs
- KeyConstraint.cs
- XPathSelectionIterator.cs
- CodeConditionStatement.cs
- DetailsViewUpdatedEventArgs.cs
- DoubleAnimationUsingKeyFrames.cs
- DbConnectionPoolGroup.cs
- RequestCache.cs
- CrossContextChannel.cs
- CleanUpVirtualizedItemEventArgs.cs
- DataGridHeaderBorder.cs
- WorkflowApplicationCompletedException.cs
- PagesChangedEventArgs.cs
- SqlExpressionNullability.cs
- SortDescriptionCollection.cs
- HttpProfileGroupBase.cs
- WebScriptMetadataMessage.cs
- NullableIntSumAggregationOperator.cs
- QuinticEase.cs
- DiscreteKeyFrames.cs
- AssemblyCollection.cs
- BindingsCollection.cs
- CodeObjectCreateExpression.cs
- ListGeneralPage.cs
- InsufficientMemoryException.cs
- StringDictionary.cs
- MultiBinding.cs
- CLRBindingWorker.cs
- EncoderParameter.cs
- ScopelessEnumAttribute.cs
- FlowLayout.cs
- DynamicMetaObjectBinder.cs
- CaretElement.cs
- MultiBinding.cs
- FactoryGenerator.cs
- MetadataItem_Static.cs
- SystemNetworkInterface.cs
- BrushMappingModeValidation.cs
- PrintDialog.cs
- RectangleGeometry.cs
- OrderedDictionary.cs
- ResourceBinder.cs
- TraceListener.cs
- RtfControls.cs
- Bitmap.cs
- TraceContextRecord.cs
- DataSourceCacheDurationConverter.cs
- DbMetaDataCollectionNames.cs
- PolicyException.cs
- Models.cs
- ActionFrame.cs
- OrderByLifter.cs
- MinimizableAttributeTypeConverter.cs
- AnnotationComponentChooser.cs
- DataServiceQueryProvider.cs
- TypedReference.cs
- ExtenderProvidedPropertyAttribute.cs
- WebPartMinimizeVerb.cs
- DBBindings.cs
- diagnosticsswitches.cs
- NumberFormatter.cs
- DataSysAttribute.cs
- ClientBase.cs
- HighlightComponent.cs
- ParenthesizePropertyNameAttribute.cs
- COM2ComponentEditor.cs
- GZipStream.cs
- SQLMoney.cs
- EventDriven.cs
- FixedPageAutomationPeer.cs
- HtmlInputHidden.cs