Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntityDesign / Design / System / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TemplatedWizardStep.cs
- TextSegment.cs
- BoolExpr.cs
- GridViewHeaderRowPresenter.cs
- CodeEventReferenceExpression.cs
- Image.cs
- DateTimeSerializationSection.cs
- WeakReferenceList.cs
- FragmentQuery.cs
- SqlUserDefinedTypeAttribute.cs
- DefaultPrintController.cs
- XmlCountingReader.cs
- XmlWrappingReader.cs
- SiteMapNode.cs
- UrlMappingsModule.cs
- DataServiceRequestOfT.cs
- AutomationProperty.cs
- CalendarButtonAutomationPeer.cs
- DodSequenceMerge.cs
- XPathDocument.cs
- TrackingMemoryStream.cs
- BackgroundWorker.cs
- TabControlCancelEvent.cs
- WinHttpWebProxyFinder.cs
- SourceFileInfo.cs
- OutputCacheProfileCollection.cs
- CapabilitiesSection.cs
- SecurityDescriptor.cs
- WsrmTraceRecord.cs
- WindowsGraphics.cs
- CodeMethodInvokeExpression.cs
- XmlSchemaInferenceException.cs
- JsonReaderDelegator.cs
- PackageProperties.cs
- UnsignedPublishLicense.cs
- OutKeywords.cs
- WindowsGraphics2.cs
- HtmlLink.cs
- CompositeScriptReferenceEventArgs.cs
- WebPartsPersonalization.cs
- XmlNavigatorFilter.cs
- Blend.cs
- OperationSelectorBehavior.cs
- PropertyEntry.cs
- SoapEnvelopeProcessingElement.cs
- GridViewColumn.cs
- OpacityConverter.cs
- ToolStripSplitStackLayout.cs
- PointLightBase.cs
- SerializationInfo.cs
- GlyphManager.cs
- CapabilitiesRule.cs
- XmlIlVisitor.cs
- DisableDpiAwarenessAttribute.cs
- XmlJsonReader.cs
- ThemeDictionaryExtension.cs
- Debug.cs
- XXXOnTypeBuilderInstantiation.cs
- ClientSideProviderDescription.cs
- BulletedListEventArgs.cs
- MappingSource.cs
- MarkupCompilePass2.cs
- FormatConvertedBitmap.cs
- ScrollBarAutomationPeer.cs
- TemplatedWizardStep.cs
- ObjectNavigationPropertyMapping.cs
- LockCookie.cs
- COM2AboutBoxPropertyDescriptor.cs
- DbParameterCollectionHelper.cs
- StreamedFramingRequestChannel.cs
- TraceUtility.cs
- LexicalChunk.cs
- PropVariant.cs
- ItemCheckedEvent.cs
- CalendarAutoFormat.cs
- Publisher.cs
- CodeGeneratorAttribute.cs
- XPathAncestorIterator.cs
- SqlServices.cs
- TextTreeObjectNode.cs
- DocumentSchemaValidator.cs
- SystemNetworkInterface.cs
- DbMetaDataFactory.cs
- CqlLexerHelpers.cs
- AffineTransform3D.cs
- DBConcurrencyException.cs
- TransactionInterop.cs
- ObjectMemberMapping.cs
- EventProviderWriter.cs
- DelegatingHeader.cs
- WSTransactionSection.cs
- Matrix.cs
- MessageAction.cs
- FieldNameLookup.cs
- StringFreezingAttribute.cs
- Column.cs
- PersonalizableAttribute.cs
- TextCollapsingProperties.cs
- MouseGestureConverter.cs
- HttpCachePolicyElement.cs