Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / EdmMember.cs / 3 / EdmMember.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....], [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Diagnostics;
using System.Text;
namespace System.Data.Metadata.Edm
{
///
/// Represents the edm member class
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")]
public abstract class EdmMember : MetadataItem
{
///
/// Initializes a new instance of EdmMember class
///
/// name of the member
/// type information containing info about member's type and its facet
internal EdmMember(string name, TypeUsage memberTypeUsage)
{
EntityUtil.CheckStringArgument(name, "name");
EntityUtil.GenericCheckArgumentNull(memberTypeUsage, "memberTypeUsage");
_name = name;
_typeUsage = memberTypeUsage;
}
private TypeUsage _typeUsage;
private string _name;
private StructuralType _declaringType;
///
/// Returns the identity of the member
///
internal override string Identity
{
get
{
return this.Name;
}
}
///
/// Returns the name of the member
///
[MetadataProperty(PrimitiveTypeKind.String, false)]
public String Name
{
get
{
return _name;
}
}
///
/// Returns the declaring type of the member
///
public StructuralType DeclaringType
{
get
{
return _declaringType;
}
}
///
/// Returns the TypeUsage object containing the type information and facets
/// about the type
///
[MetadataProperty(BuiltInTypeKind.TypeUsage, false)]
public TypeUsage TypeUsage
{
get
{
return _typeUsage;
}
}
///
/// Overriding System.Object.ToString to provide better String representation
/// for this type.
///
public override string ToString()
{
return Name;
}
///
/// Sets the member to read only mode. Once this is done, there are no changes
/// that can be done to this class
///
internal override void SetReadOnly()
{
if (!IsReadOnly)
{
base.SetReadOnly();
// TypeUsage is always readonly, no need to set it
}
}
///
/// Change the declaring type without doing fixup in the member collection
///
internal void ChangeDeclaringTypeWithoutCollectionFixup(StructuralType newDeclaringType)
{
_declaringType = newDeclaringType;
}
///
/// Tells whether this member is marked as a Computed member in the EDM definition
///
internal bool IsStoreGeneratedComputed
{
get
{
Facet item=null;
if (TypeUsage.Facets.TryGetValue(EdmProviderManifest.StoreGeneratedPatternFacetName, false, out item))
{
return ((StoreGeneratedPattern)item.Value) == StoreGeneratedPattern.Computed;
}
return false;
}
}
///
/// Tells whether this member's Store generated pattern is marked as Identity in the EDM definition
///
internal bool IsStoreGeneratedIdentity
{
get
{
Facet item = null;
if (TypeUsage.Facets.TryGetValue(EdmProviderManifest.StoreGeneratedPatternFacetName, false, out item))
{
return ((StoreGeneratedPattern)item.Value) == StoreGeneratedPattern.Identity;
}
return false;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....], [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Diagnostics;
using System.Text;
namespace System.Data.Metadata.Edm
{
///
/// Represents the edm member class
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")]
public abstract class EdmMember : MetadataItem
{
///
/// Initializes a new instance of EdmMember class
///
/// name of the member
/// type information containing info about member's type and its facet
internal EdmMember(string name, TypeUsage memberTypeUsage)
{
EntityUtil.CheckStringArgument(name, "name");
EntityUtil.GenericCheckArgumentNull(memberTypeUsage, "memberTypeUsage");
_name = name;
_typeUsage = memberTypeUsage;
}
private TypeUsage _typeUsage;
private string _name;
private StructuralType _declaringType;
///
/// Returns the identity of the member
///
internal override string Identity
{
get
{
return this.Name;
}
}
///
/// Returns the name of the member
///
[MetadataProperty(PrimitiveTypeKind.String, false)]
public String Name
{
get
{
return _name;
}
}
///
/// Returns the declaring type of the member
///
public StructuralType DeclaringType
{
get
{
return _declaringType;
}
}
///
/// Returns the TypeUsage object containing the type information and facets
/// about the type
///
[MetadataProperty(BuiltInTypeKind.TypeUsage, false)]
public TypeUsage TypeUsage
{
get
{
return _typeUsage;
}
}
///
/// Overriding System.Object.ToString to provide better String representation
/// for this type.
///
public override string ToString()
{
return Name;
}
///
/// Sets the member to read only mode. Once this is done, there are no changes
/// that can be done to this class
///
internal override void SetReadOnly()
{
if (!IsReadOnly)
{
base.SetReadOnly();
// TypeUsage is always readonly, no need to set it
}
}
///
/// Change the declaring type without doing fixup in the member collection
///
internal void ChangeDeclaringTypeWithoutCollectionFixup(StructuralType newDeclaringType)
{
_declaringType = newDeclaringType;
}
///
/// Tells whether this member is marked as a Computed member in the EDM definition
///
internal bool IsStoreGeneratedComputed
{
get
{
Facet item=null;
if (TypeUsage.Facets.TryGetValue(EdmProviderManifest.StoreGeneratedPatternFacetName, false, out item))
{
return ((StoreGeneratedPattern)item.Value) == StoreGeneratedPattern.Computed;
}
return false;
}
}
///
/// Tells whether this member's Store generated pattern is marked as Identity in the EDM definition
///
internal bool IsStoreGeneratedIdentity
{
get
{
Facet item = null;
if (TypeUsage.Facets.TryGetValue(EdmProviderManifest.StoreGeneratedPatternFacetName, false, out item))
{
return ((StoreGeneratedPattern)item.Value) == StoreGeneratedPattern.Identity;
}
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
- HtmlContainerControl.cs
- RangeBase.cs
- ListBase.cs
- AdRotator.cs
- loginstatus.cs
- DataControlLinkButton.cs
- GetPageNumberCompletedEventArgs.cs
- CodeArrayCreateExpression.cs
- TrustSection.cs
- shaperfactoryquerycacheentry.cs
- UpdateProgress.cs
- Button.cs
- __Error.cs
- FileUpload.cs
- DependencyObjectValidator.cs
- ScriptingAuthenticationServiceSection.cs
- SAPICategories.cs
- ScrollViewer.cs
- StringSorter.cs
- CodeAttributeArgumentCollection.cs
- RowsCopiedEventArgs.cs
- ValueProviderWrapper.cs
- EventListener.cs
- HashCryptoHandle.cs
- Comparer.cs
- IdentityModelDictionary.cs
- GenericsInstances.cs
- TraceListener.cs
- DataGridViewTopLeftHeaderCell.cs
- SafeArrayRankMismatchException.cs
- XsltException.cs
- ParameterModifier.cs
- WindowsRegion.cs
- ListSurrogate.cs
- FixedSOMLineCollection.cs
- EntityParameterCollection.cs
- SHA384Managed.cs
- FreeFormDragDropManager.cs
- XmlBinaryWriterSession.cs
- ClientSettingsStore.cs
- MenuItemBinding.cs
- DiscreteKeyFrames.cs
- SubstitutionDesigner.cs
- Vector3dCollection.cs
- DetailsViewInsertEventArgs.cs
- BuilderPropertyEntry.cs
- PartManifestEntry.cs
- DesignBindingEditor.cs
- StatusBarPanelClickEvent.cs
- SqlConnectionManager.cs
- COM2AboutBoxPropertyDescriptor.cs
- TypedServiceOperationListItem.cs
- SafeCertificateContext.cs
- DynamicHyperLink.cs
- cryptoapiTransform.cs
- DataGridViewComboBoxEditingControl.cs
- ObjectNavigationPropertyMapping.cs
- MemberJoinTreeNode.cs
- XmlValidatingReader.cs
- SQlBooleanStorage.cs
- Error.cs
- AuthenticatingEventArgs.cs
- ProjectionQueryOptionExpression.cs
- ShaperBuffers.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- HttpRequestTraceRecord.cs
- FindSimilarActivitiesVerb.cs
- GlobalId.cs
- DbMetaDataCollectionNames.cs
- TableLayoutCellPaintEventArgs.cs
- SrgsNameValueTag.cs
- DoWorkEventArgs.cs
- EntityParameter.cs
- DbProviderFactories.cs
- SeverityFilter.cs
- FileDialogCustomPlace.cs
- IInstanceTable.cs
- InternalConfigSettingsFactory.cs
- BooleanConverter.cs
- RegisterInfo.cs
- MembershipSection.cs
- ServiceMemoryGates.cs
- MapPathBasedVirtualPathProvider.cs
- TraceSection.cs
- XmlDataDocument.cs
- InvalidProgramException.cs
- CompositeDataBoundControl.cs
- CodeSnippetStatement.cs
- SoapCodeExporter.cs
- EntityParameterCollection.cs
- CatalogPart.cs
- IsolatedStorageFileStream.cs
- EventDescriptor.cs
- ClientSession.cs
- ViewStateModeByIdAttribute.cs
- GeneralTransform3D.cs
- TextAdaptor.cs
- ImageInfo.cs
- MultiAsyncResult.cs
- ZeroOpNode.cs