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
- Matrix3D.cs
- ContentPosition.cs
- WorkflowDesignerColors.cs
- cookiecollection.cs
- InputProcessorProfilesLoader.cs
- DataGridViewComboBoxColumn.cs
- SoapMessage.cs
- XmlDictionaryReaderQuotas.cs
- DescendantBaseQuery.cs
- FacetValues.cs
- IndentedWriter.cs
- EventDescriptor.cs
- CollectionContainer.cs
- EventSinkHelperWriter.cs
- ParallelTimeline.cs
- SecurityValidationBehavior.cs
- FindProgressChangedEventArgs.cs
- HttpRawResponse.cs
- ComboBoxDesigner.cs
- cache.cs
- EntityDataReader.cs
- GroupBoxRenderer.cs
- ToolStripDropDown.cs
- InteropAutomationProvider.cs
- EditorAttribute.cs
- XmlCDATASection.cs
- _AcceptOverlappedAsyncResult.cs
- Stroke.cs
- SessionPageStateSection.cs
- ProtocolElementCollection.cs
- ZoneButton.cs
- SoapMessage.cs
- ValidatorUtils.cs
- DetailsViewUpdatedEventArgs.cs
- ListControl.cs
- XPathMessageContext.cs
- Brush.cs
- DataGridViewCellValidatingEventArgs.cs
- TrackingProfileManager.cs
- TreeWalkHelper.cs
- LoginView.cs
- InputLanguage.cs
- Int32RectValueSerializer.cs
- ListViewCommandEventArgs.cs
- ToolStripPanelRow.cs
- FolderBrowserDialog.cs
- StorageEntityContainerMapping.cs
- ProtocolsSection.cs
- DataSpaceManager.cs
- PageHandlerFactory.cs
- CompilerScopeManager.cs
- VariantWrapper.cs
- IconBitmapDecoder.cs
- TableCellCollection.cs
- ListViewItemEventArgs.cs
- SymLanguageVendor.cs
- SqlPersonalizationProvider.cs
- SrgsDocumentParser.cs
- PropertySet.cs
- BackoffTimeoutHelper.cs
- HttpEncoderUtility.cs
- VirtualPathUtility.cs
- MatrixUtil.cs
- DataTrigger.cs
- DeclaredTypeValidator.cs
- LabelLiteral.cs
- Win32KeyboardDevice.cs
- Knowncolors.cs
- WebPartMenu.cs
- StoragePropertyMapping.cs
- SiteIdentityPermission.cs
- Paragraph.cs
- ViewStateModeByIdAttribute.cs
- PropertyRecord.cs
- DataRecordInternal.cs
- NameValueSectionHandler.cs
- FormViewAutoFormat.cs
- AxHostDesigner.cs
- WsdlBuildProvider.cs
- ObjectParameterCollection.cs
- BinHexEncoder.cs
- ClientScriptManager.cs
- IndentTextWriter.cs
- PriorityChain.cs
- SoapTypeAttribute.cs
- CriticalFinalizerObject.cs
- SwitchDesigner.xaml.cs
- odbcmetadatacollectionnames.cs
- CompositeCollection.cs
- RowParagraph.cs
- HtmlInputFile.cs
- LinkAreaEditor.cs
- BinaryEditor.cs
- BevelBitmapEffect.cs
- DetailsViewRow.cs
- SmtpDateTime.cs
- List.cs
- WasNotInstalledException.cs
- VarRefManager.cs
- XmlSchemaProviderAttribute.cs