Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataWeb / Design / system / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 1 / EntityTypeEmitter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.CodeDom; 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 (EdmMember member in Item.Members) { NavigationProperty navigationProperty = (member as NavigationProperty); if ((null != navigationProperty) && (navigationProperty.DeclaringType == Item)) { 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(); 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.CodeDom; 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 (EdmMember member in Item.Members) { NavigationProperty navigationProperty = (member as NavigationProperty); if ((null != navigationProperty) && (navigationProperty.DeclaringType == Item)) { 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(); 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
- Run.cs
- DomNameTable.cs
- RemoteHelper.cs
- WindowsRichEditRange.cs
- PolyQuadraticBezierSegment.cs
- NetworkCredential.cs
- PropertyManager.cs
- DesignBindingValueUIHandler.cs
- DataGridViewLayoutData.cs
- ActivationArguments.cs
- ConstructorExpr.cs
- SqlFileStream.cs
- CommandBinding.cs
- FormsAuthenticationEventArgs.cs
- Errors.cs
- UInt64Storage.cs
- BeginEvent.cs
- DesignerRegionMouseEventArgs.cs
- TTSVoice.cs
- SplayTreeNode.cs
- ItemType.cs
- MarkerProperties.cs
- _DisconnectOverlappedAsyncResult.cs
- ParameterToken.cs
- StaticDataManager.cs
- QueueTransferProtocol.cs
- FormViewDeletedEventArgs.cs
- _NativeSSPI.cs
- DesignerAttributeInfo.cs
- CircleHotSpot.cs
- StateManagedCollection.cs
- KeyedHashAlgorithm.cs
- BinaryCommonClasses.cs
- listitem.cs
- ValidationSummary.cs
- BatchParser.cs
- IMembershipProvider.cs
- WindowsGraphicsWrapper.cs
- EntryIndex.cs
- StatusStrip.cs
- TableLayoutRowStyleCollection.cs
- CodeCompiler.cs
- CryptoStream.cs
- ISCIIEncoding.cs
- wmiprovider.cs
- PropertyEmitterBase.cs
- ParserOptions.cs
- SignedPkcs7.cs
- AnnouncementInnerClient11.cs
- SystemNetHelpers.cs
- SpellerError.cs
- EdmItemError.cs
- EntitySqlQueryBuilder.cs
- SecurityContextSecurityTokenParameters.cs
- XmlTypeAttribute.cs
- SqlHelper.cs
- DataGridHeaderBorder.cs
- ManagedWndProcTracker.cs
- HttpContext.cs
- CodeGen.cs
- DecimalAnimationUsingKeyFrames.cs
- ChangeDirector.cs
- TransformerTypeCollection.cs
- RotateTransform3D.cs
- AssemblyBuilder.cs
- CustomError.cs
- WebPartDisplayModeCancelEventArgs.cs
- StatusBarDesigner.cs
- DbConnectionFactory.cs
- ToolStripButton.cs
- DataGridViewDataConnection.cs
- ConnectionAcceptor.cs
- UInt16Converter.cs
- Floater.cs
- ComponentChangedEvent.cs
- ThicknessAnimation.cs
- SevenBitStream.cs
- XmlWrappingReader.cs
- XmlAggregates.cs
- NotifyIcon.cs
- AccessViolationException.cs
- DataTransferEventArgs.cs
- OverrideMode.cs
- XPathPatternParser.cs
- WindowsIdentity.cs
- EntityConnection.cs
- CompilerInfo.cs
- DocumentOrderQuery.cs
- SystemBrushes.cs
- ResolveNameEventArgs.cs
- Dictionary.cs
- ExtentJoinTreeNode.cs
- Int32CollectionConverter.cs
- InternalConfigHost.cs
- PLINQETWProvider.cs
- PageAsyncTaskManager.cs
- TransactionalPackage.cs
- ObjectParameterCollection.cs
- PolicyUtility.cs
- RenderCapability.cs