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
- ExecutedRoutedEventArgs.cs
- PageDeviceFont.cs
- RawStylusActions.cs
- EdmItemCollection.OcAssemblyCache.cs
- BuildProvider.cs
- SimpleApplicationHost.cs
- PairComparer.cs
- Sentence.cs
- FunctionParameter.cs
- webeventbuffer.cs
- InstanceNormalEvent.cs
- TerminateDesigner.cs
- Substitution.cs
- EnumValAlphaComparer.cs
- ImmutablePropertyDescriptorGridEntry.cs
- CloudCollection.cs
- MemberRelationshipService.cs
- RequestCachePolicy.cs
- _BaseOverlappedAsyncResult.cs
- Visual.cs
- TypeConverterValueSerializer.cs
- Viewport3DVisual.cs
- ColorKeyFrameCollection.cs
- StyleCollection.cs
- BaseTemplatedMobileComponentEditor.cs
- ImpersonateTokenRef.cs
- Stack.cs
- TextDecoration.cs
- CustomLineCap.cs
- ExceptionUtil.cs
- Authorization.cs
- ComboBox.cs
- SeekableMessageNavigator.cs
- RuleConditionDialog.Designer.cs
- DataTableMappingCollection.cs
- IDReferencePropertyAttribute.cs
- Aggregates.cs
- EmptyArray.cs
- ProviderSettingsCollection.cs
- DbMetaDataFactory.cs
- GlyphRun.cs
- ComboBoxRenderer.cs
- HostingPreferredMapPath.cs
- Helpers.cs
- PrefixHandle.cs
- WebHttpBindingCollectionElement.cs
- AlternateView.cs
- GrammarBuilderWildcard.cs
- _AutoWebProxyScriptHelper.cs
- WebSysDisplayNameAttribute.cs
- MouseOverProperty.cs
- COM2IDispatchConverter.cs
- _CacheStreams.cs
- StringUtil.cs
- Win32MouseDevice.cs
- HttpCachePolicy.cs
- WebPartEditorOkVerb.cs
- SelectionService.cs
- InputProcessorProfiles.cs
- WebPartVerbCollection.cs
- Buffer.cs
- LoginAutoFormat.cs
- WmlImageAdapter.cs
- IOException.cs
- RouteTable.cs
- SafeCertificateContext.cs
- InvokeAction.cs
- Size.cs
- CustomAttributeFormatException.cs
- __Filters.cs
- SqlProvider.cs
- DocobjHost.cs
- TabletDeviceInfo.cs
- ScriptingWebServicesSectionGroup.cs
- ToolStripDropDownClosingEventArgs.cs
- ProvideValueServiceProvider.cs
- EdmItemCollection.cs
- Inflater.cs
- MachineKeyConverter.cs
- XhtmlBasicLabelAdapter.cs
- WpfGeneratedKnownTypes.cs
- ThemeInfoAttribute.cs
- BrowsableAttribute.cs
- DispatcherHookEventArgs.cs
- SignatureResourcePool.cs
- AccessDataSource.cs
- BitmapEffect.cs
- ThreadStartException.cs
- TargetException.cs
- AsyncStreamReader.cs
- QuaternionAnimation.cs
- StorageEntityContainerMapping.cs
- XmlSchemaAny.cs
- DataGridViewCellCollection.cs
- SerializationAttributes.cs
- SoapUnknownHeader.cs
- HTTPNotFoundHandler.cs
- LogSwitch.cs
- ParameterExpression.cs
- XmlSchema.cs