Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntityDesign / Design / System / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 1 / EntityTypeEmitter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.CodeDom; using System.Data; using Som=System.Data.EntityModel.SchemaObjectModel; using System.Data.Metadata.Edm; namespace System.Data.EntityModel.Emitters { ////// Summary description for ItemTypeEmitter. /// internal sealed class EntityTypeEmitter : StructuredTypeEmitter { #region Public Methods ////// /// /// /// public EntityTypeEmitter(ClientApiGenerator generator, EntityType entity) : base(generator, entity) { } #endregion #region Protected Methods ////// /// /// protected override void EmitProperties(CodeTypeDeclaration typeDecl) { base.EmitProperties(typeDecl); foreach ( NavigationProperty navigationProperty in Item.GetDeclaredOnlyMembers() ) { NavigationPropertyEmitter navigationPropertyEmitter = new NavigationPropertyEmitter(Generator, navigationProperty, UsingStandardBaseClass); navigationPropertyEmitter.Emit(typeDecl); } } public override CodeTypeDeclarationCollection EmitApiClass() { CodeTypeDeclarationCollection typeDecls = base.EmitApiClass(); if ( Item.KeyMembers.Count > 0 && typeDecls.Count == 1 ) { // generate xml comments for the key properties CodeTypeDeclaration typeDecl = typeDecls[0]; typeDecl.Comments.Add( new CodeCommentStatement( " ", true ) ); foreach ( EdmMember keyProperty in Item.KeyMembers) { string name = keyProperty.Name; typeDecl.Comments.Add( new CodeCommentStatement( name, true ) ); } typeDecl.Comments.Add( new CodeCommentStatement( " ", true ) ); } return typeDecls; } ////// /// /// protected override void EmitTypeAttributes(CodeTypeDeclaration typeDecl) { Generator.AttributeEmitter.EmitTypeAttributes( this, typeDecl ); base.EmitTypeAttributes( typeDecl ); } ////// /// ///protected override CodeTypeReference GetBaseType() { CodeTypeReference baseType = base.GetBaseType(); if (baseType == null) { baseType = TypeReference.EntityTypeBaseClass; } return baseType; } protected override ReadOnlyMetadataCollection GetProperties() { return Item.Properties; } #endregion #region Public Properties #endregion #region Protected Properties #endregion #region Private Properties /// /// Gets the SchemaElement that this class is generating code for. /// ///public new EntityType Item { get { return base.Item as EntityType; } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.CodeDom; using System.Data; using Som=System.Data.EntityModel.SchemaObjectModel; using System.Data.Metadata.Edm; namespace System.Data.EntityModel.Emitters { ////// Summary description for ItemTypeEmitter. /// internal sealed class EntityTypeEmitter : StructuredTypeEmitter { #region Public Methods ////// /// /// /// public EntityTypeEmitter(ClientApiGenerator generator, EntityType entity) : base(generator, entity) { } #endregion #region Protected Methods ////// /// /// protected override void EmitProperties(CodeTypeDeclaration typeDecl) { base.EmitProperties(typeDecl); foreach ( NavigationProperty navigationProperty in Item.GetDeclaredOnlyMembers() ) { NavigationPropertyEmitter navigationPropertyEmitter = new NavigationPropertyEmitter(Generator, navigationProperty, UsingStandardBaseClass); navigationPropertyEmitter.Emit(typeDecl); } } public override CodeTypeDeclarationCollection EmitApiClass() { CodeTypeDeclarationCollection typeDecls = base.EmitApiClass(); if ( Item.KeyMembers.Count > 0 && typeDecls.Count == 1 ) { // generate xml comments for the key properties CodeTypeDeclaration typeDecl = typeDecls[0]; typeDecl.Comments.Add( new CodeCommentStatement( " ", true ) ); foreach ( EdmMember keyProperty in Item.KeyMembers) { string name = keyProperty.Name; typeDecl.Comments.Add( new CodeCommentStatement( name, true ) ); } typeDecl.Comments.Add( new CodeCommentStatement( " ", true ) ); } return typeDecls; } ////// /// /// protected override void EmitTypeAttributes(CodeTypeDeclaration typeDecl) { Generator.AttributeEmitter.EmitTypeAttributes( this, typeDecl ); base.EmitTypeAttributes( typeDecl ); } ////// /// ///protected override CodeTypeReference GetBaseType() { CodeTypeReference baseType = base.GetBaseType(); if (baseType == null) { baseType = TypeReference.EntityTypeBaseClass; } return baseType; } protected override ReadOnlyMetadataCollection GetProperties() { return Item.Properties; } #endregion #region Public Properties #endregion #region Protected Properties #endregion #region Private Properties /// /// Gets the SchemaElement that this class is generating code for. /// ///public new EntityType Item { get { return base.Item as EntityType; } } #endregion } } // 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
- OpCopier.cs
- Package.cs
- RawStylusSystemGestureInputReport.cs
- InternalControlCollection.cs
- ManifestResourceInfo.cs
- basecomparevalidator.cs
- SafePEFileHandle.cs
- CommandPlan.cs
- DocumentViewerHelper.cs
- CodeDOMProvider.cs
- ApplicationException.cs
- InputLanguageProfileNotifySink.cs
- TransformCryptoHandle.cs
- HideDisabledControlAdapter.cs
- DBDataPermission.cs
- UpdateManifestForBrowserApplication.cs
- TextDecoration.cs
- RegexGroupCollection.cs
- DataGridViewSortCompareEventArgs.cs
- AutomationTextAttribute.cs
- PocoEntityKeyStrategy.cs
- VirtualPathUtility.cs
- GridItemCollection.cs
- FocusTracker.cs
- ItemsPanelTemplate.cs
- SemanticResultValue.cs
- Marshal.cs
- DataSourceCache.cs
- AddValidationError.cs
- PreloadedPackages.cs
- Boolean.cs
- EmptyReadOnlyDictionaryInternal.cs
- StoreUtilities.cs
- TdsEnums.cs
- SystemInfo.cs
- OrderingExpression.cs
- DynamicRendererThreadManager.cs
- HelloMessageCD1.cs
- ConfigurationPropertyAttribute.cs
- DataSourceControl.cs
- DataRowChangeEvent.cs
- ConvertEvent.cs
- PersonalizationStateQuery.cs
- HostnameComparisonMode.cs
- WebPartRestoreVerb.cs
- BuildResult.cs
- MailHeaderInfo.cs
- TableItemStyle.cs
- XPathCompileException.cs
- SqlFactory.cs
- HashRepartitionStream.cs
- XmlSerializationReader.cs
- SchemaNamespaceManager.cs
- StylusDevice.cs
- mansign.cs
- SoapFaultCodes.cs
- HttpCookiesSection.cs
- contentDescriptor.cs
- CodeDOMUtility.cs
- Compiler.cs
- cache.cs
- SecurityDocument.cs
- InternalBufferOverflowException.cs
- CompilerInfo.cs
- DescendantOverDescendantQuery.cs
- AvTrace.cs
- WhitespaceRuleLookup.cs
- Lookup.cs
- Encoding.cs
- SoapElementAttribute.cs
- Point3DConverter.cs
- HelpKeywordAttribute.cs
- MessageVersion.cs
- DataGridLinkButton.cs
- ByteStack.cs
- CollectionViewGroupInternal.cs
- ClientConfigurationSystem.cs
- PrintPreviewGraphics.cs
- HostedHttpTransportManager.cs
- HttpDebugHandler.cs
- Matrix3D.cs
- CaretElement.cs
- UnknownWrapper.cs
- ScriptModule.cs
- PreProcessor.cs
- SafeEventHandle.cs
- UpdateTranslator.cs
- ShaderRenderModeValidation.cs
- TdsParser.cs
- ConnectionsZone.cs
- ConnectionPointCookie.cs
- ListViewItem.cs
- SafeEventLogWriteHandle.cs
- SyncOperationState.cs
- BufferedReadStream.cs
- MsmqOutputSessionChannel.cs
- SignedXml.cs
- CompatibleComparer.cs
- DataRowChangeEvent.cs
- MethodBody.cs