Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / EdmMember.cs / 2 / 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
- SourceInterpreter.cs
- TemplateBindingExtensionConverter.cs
- Int16AnimationBase.cs
- ControlIdConverter.cs
- MemoryMappedViewStream.cs
- XmlSchemaAppInfo.cs
- ParameterCollectionEditorForm.cs
- HandledEventArgs.cs
- CreateParams.cs
- EditorZone.cs
- AssertSection.cs
- HttpRuntimeSection.cs
- PasswordDeriveBytes.cs
- Error.cs
- EntityClassGenerator.cs
- KeyTimeConverter.cs
- EndpointAddressElementBase.cs
- OAVariantLib.cs
- StringValidator.cs
- WebScriptEnablingBehavior.cs
- UIElementParagraph.cs
- DecimalConverter.cs
- XmlReturnWriter.cs
- BitVector32.cs
- XhtmlConformanceSection.cs
- StringFunctions.cs
- MappingSource.cs
- XmlDataLoader.cs
- DataGridItemCollection.cs
- Attachment.cs
- XmlWriter.cs
- TypeSemantics.cs
- TextSelectionProcessor.cs
- Automation.cs
- KeyProperty.cs
- NamespaceList.cs
- InstanceCreationEditor.cs
- RetrieveVirtualItemEventArgs.cs
- AuthenticationServiceManager.cs
- GrowingArray.cs
- XmlSchemaElement.cs
- MouseDevice.cs
- ToolStripManager.cs
- ObsoleteAttribute.cs
- RawAppCommandInputReport.cs
- _NestedSingleAsyncResult.cs
- LayoutExceptionEventArgs.cs
- PersistenceProviderBehavior.cs
- BindingFormattingDialog.cs
- KeyedCollection.cs
- PropertyAccessVisitor.cs
- Task.cs
- MenuEventArgs.cs
- SimpleRecyclingCache.cs
- Double.cs
- SchemaMerger.cs
- ReadOnlyDictionary.cs
- SqlCommandBuilder.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- SamlConditions.cs
- WebPartUserCapability.cs
- AttributedMetaModel.cs
- SmiMetaDataProperty.cs
- NaturalLanguageHyphenator.cs
- DataContractSerializerMessageContractImporter.cs
- Brushes.cs
- _UncName.cs
- Listbox.cs
- COAUTHIDENTITY.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- HttpServerVarsCollection.cs
- DiagnosticTraceSource.cs
- FormsAuthenticationModule.cs
- TemplateControlCodeDomTreeGenerator.cs
- CodeGenerator.cs
- CodeCastExpression.cs
- CalendarDay.cs
- CompilationLock.cs
- SoundPlayerAction.cs
- DES.cs
- ReverseInheritProperty.cs
- StylusTip.cs
- MultiPageTextView.cs
- AnonymousIdentificationModule.cs
- ExtensionDataObject.cs
- DocumentApplicationJournalEntry.cs
- BroadcastEventHelper.cs
- COM2Enum.cs
- SimpleModelProvider.cs
- AssertSection.cs
- Classification.cs
- RegexParser.cs
- DrawListViewColumnHeaderEventArgs.cs
- xmlfixedPageInfo.cs
- DataRowComparer.cs
- DependencyObjectType.cs
- PageTheme.cs
- CryptoStream.cs
- TextContainerHelper.cs
- SQLByte.cs