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, Dictionary newGlobalItems)
{
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
- TableLayoutSettingsTypeConverter.cs
- SortDescriptionCollection.cs
- ReferenceSchema.cs
- HtmlInputHidden.cs
- ToolStripOverflowButton.cs
- CodeMemberProperty.cs
- PageHandlerFactory.cs
- SqlSupersetValidator.cs
- Fx.cs
- InstanceOwnerQueryResult.cs
- SafeRightsManagementSessionHandle.cs
- DataTableMapping.cs
- ProvidersHelper.cs
- AssociatedControlConverter.cs
- CreatingCookieEventArgs.cs
- TextPointerBase.cs
- safemediahandle.cs
- DataGridViewComboBoxCell.cs
- XmlNotation.cs
- QueryCacheEntry.cs
- IntSecurity.cs
- ContainerUtilities.cs
- SpellerStatusTable.cs
- FileEnumerator.cs
- IconEditor.cs
- Bits.cs
- Material.cs
- XmlValidatingReaderImpl.cs
- XamlPointCollectionSerializer.cs
- ValidatorCollection.cs
- ToolStripDropDown.cs
- HttpResponseInternalWrapper.cs
- BaseCodePageEncoding.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- ApplicationDirectory.cs
- AttributeTableBuilder.cs
- BitmapEffectState.cs
- ReflectionUtil.cs
- PnrpPeerResolver.cs
- DataGridViewTextBoxCell.cs
- TargetParameterCountException.cs
- Reference.cs
- QueryCacheManager.cs
- ConditionCollection.cs
- HtmlInputImage.cs
- CancellableEnumerable.cs
- WebReferencesBuildProvider.cs
- CacheOutputQuery.cs
- OwnerDrawPropertyBag.cs
- ClientTarget.cs
- MachineSettingsSection.cs
- FormatConvertedBitmap.cs
- PermissionSetTriple.cs
- FormatVersion.cs
- cookiecontainer.cs
- FilterUserControlBase.cs
- TdsEnums.cs
- EdmValidator.cs
- WriteFileContext.cs
- DirectionalLight.cs
- SqlRemoveConstantOrderBy.cs
- ProfileService.cs
- ReaderOutput.cs
- InstanceKey.cs
- BaseDataListPage.cs
- DataPagerCommandEventArgs.cs
- ProfileService.cs
- EntitySet.cs
- MonikerSyntaxException.cs
- SqlMethods.cs
- InputMethod.cs
- LastQueryOperator.cs
- SQLStringStorage.cs
- ServiceBusyException.cs
- ViewStateException.cs
- XpsSerializationManager.cs
- PopupControlService.cs
- ExtenderProvidedPropertyAttribute.cs
- UsernameTokenFactoryCredential.cs
- HttpDictionary.cs
- FastPropertyAccessor.cs
- ParameterBuilder.cs
- XamlStyleSerializer.cs
- FrameworkTextComposition.cs
- UITypeEditor.cs
- DataObjectCopyingEventArgs.cs
- COM2ExtendedBrowsingHandler.cs
- ActivityInterfaces.cs
- WebHeaderCollection.cs
- sqlinternaltransaction.cs
- TextBoxAutoCompleteSourceConverter.cs
- FieldMetadata.cs
- AuthenticatingEventArgs.cs
- BitmapSourceSafeMILHandle.cs
- ServiceElementCollection.cs
- ADRole.cs
- TableLayout.cs
- MD5HashHelper.cs
- MappingSource.cs
- WebBrowserDocumentCompletedEventHandler.cs