Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataWeb / Design / system / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 3 / 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
- HtmlElement.cs
- TextEditorParagraphs.cs
- ProfilePropertyMetadata.cs
- ProfileService.cs
- XmlSchemaObjectCollection.cs
- ObjectDataSourceFilteringEventArgs.cs
- MeshGeometry3D.cs
- RadioButton.cs
- CompiledIdentityConstraint.cs
- XmlNamespaceDeclarationsAttribute.cs
- AppDomainCompilerProxy.cs
- AsnEncodedData.cs
- HScrollBar.cs
- Brush.cs
- ValueTypeFieldReference.cs
- ReadWriteSpinLock.cs
- DataGridViewRowEventArgs.cs
- FormattedTextSymbols.cs
- MimeTypeAttribute.cs
- Pen.cs
- SecurityKeyIdentifier.cs
- SystemTcpStatistics.cs
- SchemaAttDef.cs
- XslException.cs
- ClientRequest.cs
- ToolboxItemAttribute.cs
- DetailsViewDeleteEventArgs.cs
- SQLInt16Storage.cs
- DocumentAutomationPeer.cs
- XsltConvert.cs
- DBConnection.cs
- Win32SafeHandles.cs
- ValueQuery.cs
- TransactionTraceIdentifier.cs
- ReliableSessionElement.cs
- InkCanvasAutomationPeer.cs
- CodeMemberEvent.cs
- BmpBitmapEncoder.cs
- Win32PrintDialog.cs
- TraceUtils.cs
- XmlUTF8TextWriter.cs
- MouseButton.cs
- CodeSnippetExpression.cs
- DataGridViewControlCollection.cs
- MethodAccessException.cs
- ListViewItem.cs
- PeerHopCountAttribute.cs
- mediaeventargs.cs
- TimeSpanOrInfiniteConverter.cs
- BitmapDownload.cs
- Single.cs
- OleDbException.cs
- OdbcUtils.cs
- WorkerRequest.cs
- DataPagerFieldCollection.cs
- TextServicesProperty.cs
- StandardCommands.cs
- HyperLinkColumn.cs
- MaterializeFromAtom.cs
- DesignerView.cs
- CheckPair.cs
- SchemaUtility.cs
- ResourcePermissionBase.cs
- GlyphTypeface.cs
- QuadraticBezierSegment.cs
- FileDialogPermission.cs
- XmlAttributeAttribute.cs
- SubMenuStyle.cs
- DataControlPagerLinkButton.cs
- CatalogPartCollection.cs
- Message.cs
- ParenthesizePropertyNameAttribute.cs
- PersonalizationState.cs
- FileDialog.cs
- CorruptingExceptionCommon.cs
- MetaTable.cs
- IssuanceLicense.cs
- Model3D.cs
- ContextMarshalException.cs
- TagMapCollection.cs
- TextEditorSpelling.cs
- ellipse.cs
- OptionUsage.cs
- XmlObjectSerializer.cs
- FrameworkPropertyMetadata.cs
- Membership.cs
- CanonicalFontFamilyReference.cs
- ToolStripRenderer.cs
- DesignerActionUIService.cs
- WebPartZoneCollection.cs
- DataGridViewUtilities.cs
- DatagridviewDisplayedBandsData.cs
- MaterialGroup.cs
- XmlReaderSettings.cs
- ControlCodeDomSerializer.cs
- SerialStream.cs
- JournalEntry.cs
- ProcessModuleCollection.cs
- SizeF.cs
- ASCIIEncoding.cs