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
- HotSpotCollection.cs
- MediaScriptCommandRoutedEventArgs.cs
- HebrewCalendar.cs
- GridItem.cs
- UnauthorizedWebPart.cs
- ApplicationBuildProvider.cs
- SmiMetaData.cs
- ValidationEventArgs.cs
- TimeStampChecker.cs
- KoreanLunisolarCalendar.cs
- CacheDict.cs
- PropertyValueChangedEvent.cs
- ApplicationId.cs
- ItemCheckEvent.cs
- DuplicateWaitObjectException.cs
- XmlArrayItemAttribute.cs
- ExecutionEngineException.cs
- ParsedAttributeCollection.cs
- LambdaCompiler.Lambda.cs
- ObjectStateManager.cs
- ExpressionBuilder.cs
- StringCollectionMarkupSerializer.cs
- PassportAuthenticationEventArgs.cs
- StoreContentChangedEventArgs.cs
- AndCondition.cs
- ToolStripTemplateNode.cs
- HttpPostProtocolReflector.cs
- VectorValueSerializer.cs
- BaseCollection.cs
- PersonalizableTypeEntry.cs
- ObjectReaderCompiler.cs
- VBIdentifierTrimConverter.cs
- XPathExpr.cs
- DataGridViewCellEventArgs.cs
- WeakRefEnumerator.cs
- XdrBuilder.cs
- BounceEase.cs
- WindowsFont.cs
- ApplyTemplatesAction.cs
- ListControlActionList.cs
- ExpressionBuilder.cs
- PeerInvitationResponse.cs
- WebServiceClientProxyGenerator.cs
- CompressStream.cs
- GroupItemAutomationPeer.cs
- StaticFileHandler.cs
- ItemMap.cs
- Thread.cs
- HostSecurityManager.cs
- BindingExpressionUncommonField.cs
- XPathNodeHelper.cs
- AnnotationHelper.cs
- NetworkInformationException.cs
- IdentitySection.cs
- LinqToSqlWrapper.cs
- AsyncOperation.cs
- PlatformCulture.cs
- SynthesizerStateChangedEventArgs.cs
- DesignerAutoFormatCollection.cs
- ButtonFieldBase.cs
- EqualityComparer.cs
- HtmlElementEventArgs.cs
- XmlC14NWriter.cs
- WsdlBuildProvider.cs
- SettingsBindableAttribute.cs
- XmlWriterDelegator.cs
- ServiceDescriptions.cs
- FrameworkName.cs
- XmlnsCompatibleWithAttribute.cs
- TextServicesCompartmentEventSink.cs
- AudioFileOut.cs
- FontCacheUtil.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- ScaleTransform.cs
- XmlLangPropertyAttribute.cs
- SecureStringHasher.cs
- OdbcConnectionString.cs
- PackageDigitalSignatureManager.cs
- Accessors.cs
- AppDomainFactory.cs
- SecurityTokenException.cs
- ContainerVisual.cs
- SqlInternalConnectionTds.cs
- SafeThreadHandle.cs
- CommonDialog.cs
- UrlAuthorizationModule.cs
- UnicastIPAddressInformationCollection.cs
- LinkClickEvent.cs
- Gdiplus.cs
- SqlBooleanizer.cs
- FunctionMappingTranslator.cs
- PermissionSet.cs
- CharacterMetricsDictionary.cs
- SplineQuaternionKeyFrame.cs
- AstTree.cs
- HostingPreferredMapPath.cs
- OneOfScalarConst.cs
- SiteMapNodeCollection.cs
- Encoder.cs
- EngineSite.cs