Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntityDesign / Design / System / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 2 / 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
- CursorInteropHelper.cs
- NonSerializedAttribute.cs
- FlowDocumentScrollViewer.cs
- SHA512.cs
- WebPartConnectionsDisconnectVerb.cs
- ErrorProvider.cs
- Dispatcher.cs
- TypeToStringValueConverter.cs
- TraceContextEventArgs.cs
- Application.cs
- SystemIPGlobalStatistics.cs
- WmpBitmapEncoder.cs
- JsonServiceDocumentSerializer.cs
- IriParsingElement.cs
- ObjectResult.cs
- DataBinding.cs
- ISO2022Encoding.cs
- BindingList.cs
- DocumentViewerConstants.cs
- ConnectionsZone.cs
- DataService.cs
- Matrix.cs
- ImportCatalogPart.cs
- ReaderContextStackData.cs
- DbgUtil.cs
- StaticFileHandler.cs
- GenericIdentity.cs
- ListViewEditEventArgs.cs
- TextTreeUndo.cs
- SerialErrors.cs
- DbgUtil.cs
- ServiceOperationListItemList.cs
- DodSequenceMerge.cs
- ModifierKeysValueSerializer.cs
- SmtpReplyReader.cs
- WebScriptMetadataMessage.cs
- CompModSwitches.cs
- TraceLog.cs
- LayoutEvent.cs
- TransformedBitmap.cs
- RequestCachePolicy.cs
- EntityClientCacheKey.cs
- MatrixTransform.cs
- Timeline.cs
- RowParagraph.cs
- _AuthenticationState.cs
- CodeSpit.cs
- ThumbAutomationPeer.cs
- ExceptionUtil.cs
- XmlComplianceUtil.cs
- XmlSchemaSimpleTypeUnion.cs
- Simplifier.cs
- BrowsableAttribute.cs
- MultiPageTextView.cs
- GridViewPageEventArgs.cs
- EnglishPluralizationService.cs
- ConditionCollection.cs
- GridViewDeleteEventArgs.cs
- DataObjectPastingEventArgs.cs
- UserPersonalizationStateInfo.cs
- Graph.cs
- BufferAllocator.cs
- SystemTcpConnection.cs
- FactoryGenerator.cs
- OleDbCommand.cs
- InstanceHandleReference.cs
- MembershipValidatePasswordEventArgs.cs
- File.cs
- MSAAEventDispatcher.cs
- EntityObject.cs
- ColorAnimationBase.cs
- RootBrowserWindow.cs
- ProcessInputEventArgs.cs
- GridView.cs
- RenderDataDrawingContext.cs
- FixedTextPointer.cs
- UpdateProgress.cs
- FileLoadException.cs
- AbsoluteQuery.cs
- DataSourceHelper.cs
- Errors.cs
- FixedDocumentPaginator.cs
- StickyNote.cs
- XsltFunctions.cs
- SHA384Cng.cs
- TreeNodeStyleCollection.cs
- RichTextBox.cs
- TextTreeFixupNode.cs
- InputScope.cs
- input.cs
- ReverseComparer.cs
- TextDecorationCollectionConverter.cs
- GridViewRowCollection.cs
- DataServiceStreamResponse.cs
- ExecutionEngineException.cs
- TaiwanCalendar.cs
- SchemaInfo.cs
- XPathAncestorQuery.cs
- metrodevice.cs
- DecimalStorage.cs