Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / ReferenceTypeElement.cs / 1305376 / ReferenceTypeElement.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using Som = System.Data.EntityModel.SchemaObjectModel; using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Globalization; using System.Xml; using System.Xml.Schema; using System.Data; using System.IO; using System.Data.Metadata.Edm; using System.Data.Entity; using System.Text; namespace System.Data.EntityModel.SchemaObjectModel { class ReferenceTypeElement : ModelFunctionTypeElement { #region constructor ////// /// /// internal ReferenceTypeElement(SchemaElement parentElement) : base(parentElement) { } #endregion protected override bool HandleAttribute(XmlReader reader) { if (base.HandleAttribute(reader)) { return true; } else if (CanHandleAttribute(reader, XmlConstants.TypeElement)) { HandleTypeElementAttribute(reader); return true; } return false; } protected void HandleTypeElementAttribute(XmlReader reader) { Debug.Assert(reader != null); string type; if (!Utils.GetString(Schema, reader, out type)) return; _unresolvedType = type; } internal override void WriteIdentity(StringBuilder builder) { Debug.Assert(UnresolvedType != null && !UnresolvedType.Trim().Equals(String.Empty)); builder.Append("Ref(" + UnresolvedType + ")"); } internal override TypeUsage GetTypeUsage() { return _typeUsage; } internal override bool ResolveNameAndSetTypeUsage(Converter.ConversionCache convertedItemCache, DictionarynewGlobalItems) { if (_typeUsage == null) { Debug.Assert(!(_type is ScalarType)); EdmType edmType = (EdmType)Converter.LoadSchemaElement(_type, _type.Schema.ProviderManifest, convertedItemCache, newGlobalItems); EntityType entityType = edmType as EntityType; Debug.Assert(entityType != null); RefType refType = new RefType(entityType); refType.AddMetadataProperties(this.OtherContent); _typeUsage = TypeUsage.Create(refType); } return true; } internal override void Validate() { base.Validate(); if (_type != null && !(_type is SchemaEntityType)) { //Ref type refers to non entity type AddError(ErrorCode.ReferenceToNonEntityType, EdmSchemaErrorSeverity.Error, Strings.ReferenceToNonEntityType(_type.FQName)); } } } } // 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
- ActiveXContainer.cs
- Utils.cs
- ComplexPropertyEntry.cs
- WebBrowserProgressChangedEventHandler.cs
- BindableAttribute.cs
- PeerTransportListenAddressConverter.cs
- KnownIds.cs
- JournalNavigationScope.cs
- TableRowCollection.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- EntitySqlException.cs
- IconBitmapDecoder.cs
- StructuralType.cs
- SessionPageStatePersister.cs
- CompModSwitches.cs
- LogStore.cs
- Stylesheet.cs
- ShapingWorkspace.cs
- RadioButton.cs
- BlurEffect.cs
- HttpWriter.cs
- counter.cs
- EncodingNLS.cs
- SystemUdpStatistics.cs
- RandomNumberGenerator.cs
- _AutoWebProxyScriptHelper.cs
- PreviewPageInfo.cs
- CounterSet.cs
- JavaScriptSerializer.cs
- linebase.cs
- RegexBoyerMoore.cs
- BaseValidator.cs
- VarInfo.cs
- QueryInterceptorAttribute.cs
- ViewService.cs
- ServiceNotStartedException.cs
- DispatcherExceptionEventArgs.cs
- ReadOnlyCollection.cs
- FixedLineResult.cs
- DbDataAdapter.cs
- TextElementAutomationPeer.cs
- BitmapEffectvisualstate.cs
- FillRuleValidation.cs
- SmiMetaData.cs
- CodeSnippetTypeMember.cs
- ExtensionWindow.cs
- ViewPort3D.cs
- Convert.cs
- DecimalConstantAttribute.cs
- RuntimeComponentFilter.cs
- ChangeConflicts.cs
- RemoteWebConfigurationHost.cs
- TextBoxAutoCompleteSourceConverter.cs
- LayoutSettings.cs
- SmiSettersStream.cs
- WebPartEditorApplyVerb.cs
- ReachSerializerAsync.cs
- RoleBoolean.cs
- HtmlTableCellCollection.cs
- PathBox.cs
- CodeArrayIndexerExpression.cs
- DockEditor.cs
- StrokeSerializer.cs
- ButtonFieldBase.cs
- SinglePageViewer.cs
- ElementsClipboardData.cs
- XmlWriterTraceListener.cs
- ModuleBuilder.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- XmlByteStreamReader.cs
- TextParaClient.cs
- QueueProcessor.cs
- SmtpException.cs
- ObjectDataSourceMethodEditor.cs
- XmlValidatingReaderImpl.cs
- Stopwatch.cs
- KeyEventArgs.cs
- DataGridViewSortCompareEventArgs.cs
- CacheSection.cs
- MatrixKeyFrameCollection.cs
- XmlSubtreeReader.cs
- WpfPayload.cs
- IsolatedStorageFile.cs
- Geometry3D.cs
- ScriptingAuthenticationServiceSection.cs
- SrgsOneOf.cs
- FieldReference.cs
- MainMenu.cs
- MenuItemCollection.cs
- ResourcePermissionBase.cs
- ListParagraph.cs
- AvTraceDetails.cs
- FixedStringLookup.cs
- HMACSHA384.cs
- DataControlField.cs
- Container.cs
- TransformBlockRequest.cs
- SQLBytesStorage.cs
- MultilineStringConverter.cs
- OleDbException.cs