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
- RequestCacheEntry.cs
- TableAdapterManagerHelper.cs
- UserNameSecurityTokenAuthenticator.cs
- EditorAttribute.cs
- counter.cs
- LeafCellTreeNode.cs
- Triplet.cs
- StrongNameUtility.cs
- SHA512.cs
- MonitorWrapper.cs
- EventLogEntryCollection.cs
- FileLevelControlBuilderAttribute.cs
- RequestCacheValidator.cs
- ExceptionUtil.cs
- EarlyBoundInfo.cs
- CqlParser.cs
- XmlSchemaValidator.cs
- SettingsAttributeDictionary.cs
- HostSecurityManager.cs
- MappingModelBuildProvider.cs
- BezierSegment.cs
- NavigateEvent.cs
- SqlXml.cs
- TextContainerChangeEventArgs.cs
- InputReportEventArgs.cs
- LayoutEngine.cs
- DynamicValidatorEventArgs.cs
- BitmapEffectGroup.cs
- UidPropertyAttribute.cs
- ApplicationHost.cs
- InternalConfigHost.cs
- SqlParameterizer.cs
- OleDbDataAdapter.cs
- BuiltInExpr.cs
- EnumValidator.cs
- RequiredAttributeAttribute.cs
- AnnotationComponentChooser.cs
- CommonGetThemePartSize.cs
- ZoneLinkButton.cs
- OleDbParameter.cs
- ShaderRenderModeValidation.cs
- FormViewInsertEventArgs.cs
- EntityContainerAssociationSetEnd.cs
- SafeEventHandle.cs
- RelationshipEndCollection.cs
- PolyLineSegmentFigureLogic.cs
- UndoEngine.cs
- RunWorkerCompletedEventArgs.cs
- WorkflowFileItem.cs
- ChannelTraceRecord.cs
- RealProxy.cs
- SiteMapProvider.cs
- WmpBitmapDecoder.cs
- RawStylusInputCustomData.cs
- SqlClientWrapperSmiStreamChars.cs
- SqlBuilder.cs
- WpfKnownMember.cs
- Missing.cs
- OdbcEnvironment.cs
- ScopedMessagePartSpecification.cs
- ButtonChrome.cs
- PointConverter.cs
- ValidationSummary.cs
- IdleTimeoutMonitor.cs
- _CookieModule.cs
- BrushConverter.cs
- TimeSpan.cs
- CompilerGlobalScopeAttribute.cs
- SqlBuffer.cs
- ADMembershipUser.cs
- GenericTypeParameterBuilder.cs
- TextRunCacheImp.cs
- SemanticKeyElement.cs
- EmptyCollection.cs
- IdentitySection.cs
- ImageMap.cs
- TimeStampChecker.cs
- MetadataSerializer.cs
- OperandQuery.cs
- MetadataException.cs
- activationcontext.cs
- PageAsyncTaskManager.cs
- XmlSequenceWriter.cs
- SrgsDocumentParser.cs
- UInt64Storage.cs
- QilReplaceVisitor.cs
- TaskFileService.cs
- RoleManagerEventArgs.cs
- LostFocusEventManager.cs
- ConfigurationValidatorBase.cs
- HttpsHostedTransportConfiguration.cs
- PersonalizationAdministration.cs
- Highlights.cs
- SiteMapSection.cs
- Single.cs
- InvalidCommandTreeException.cs
- XpsLiterals.cs
- LinearQuaternionKeyFrame.cs
- DecimalFormatter.cs
- ActiveDocumentEvent.cs