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
- FormParameter.cs
- DataSourceDescriptorCollection.cs
- TextBoxBase.cs
- DataService.cs
- QueuePathDialog.cs
- XPathBinder.cs
- FreezableOperations.cs
- ExternalException.cs
- DataGridViewHitTestInfo.cs
- XmlTextReader.cs
- XDeferredAxisSource.cs
- SQLMembershipProvider.cs
- VsPropertyGrid.cs
- XmlTextReader.cs
- WebUtil.cs
- OutputScopeManager.cs
- ScrollChrome.cs
- AdornerPresentationContext.cs
- TextClipboardData.cs
- _Rfc2616CacheValidators.cs
- WindowsFormsHostAutomationPeer.cs
- SafeLibraryHandle.cs
- TraceData.cs
- HashMembershipCondition.cs
- Transform3D.cs
- KeyProperty.cs
- BridgeDataReader.cs
- ImageCodecInfo.cs
- BoundColumn.cs
- Ticks.cs
- PeerMaintainer.cs
- SafeEventHandle.cs
- DPCustomTypeDescriptor.cs
- ExecutionContext.cs
- WebRequest.cs
- ToggleProviderWrapper.cs
- MachineKeySection.cs
- WebCategoryAttribute.cs
- Schema.cs
- ProgramPublisher.cs
- ContextMenuService.cs
- SqlBulkCopyColumnMappingCollection.cs
- TableLayoutCellPaintEventArgs.cs
- XhtmlBasicTextBoxAdapter.cs
- SettingsPropertyValue.cs
- WindowsStreamSecurityElement.cs
- ParseChildrenAsPropertiesAttribute.cs
- ProcessStartInfo.cs
- TextFormattingConverter.cs
- PathFigure.cs
- WriterOutput.cs
- JsonCollectionDataContract.cs
- Tile.cs
- TreeNodeConverter.cs
- HttpPostedFileBase.cs
- DataTableCollection.cs
- TemplateApplicationHelper.cs
- BindingsCollection.cs
- ToolStripSplitButton.cs
- QuotaThrottle.cs
- FacetValues.cs
- ManagementDateTime.cs
- FontCollection.cs
- EmptyElement.cs
- DnsPermission.cs
- ButtonStandardAdapter.cs
- SecureStringHasher.cs
- MissingSatelliteAssemblyException.cs
- ComPersistableTypeElement.cs
- UserControlParser.cs
- PhoneCall.cs
- CfgParser.cs
- DrawListViewItemEventArgs.cs
- ToolStrip.cs
- CodeAttributeArgumentCollection.cs
- DbConnectionPoolGroupProviderInfo.cs
- securestring.cs
- XPathDescendantIterator.cs
- Classification.cs
- LinqDataSourceContextData.cs
- ReturnValue.cs
- EncoderNLS.cs
- UdpDiscoveryMessageFilter.cs
- WebPartVerbCollection.cs
- AutoCompleteStringCollection.cs
- MeasurementDCInfo.cs
- Types.cs
- StoreContentChangedEventArgs.cs
- AggregateNode.cs
- GenericXmlSecurityTokenAuthenticator.cs
- HtmlElementCollection.cs
- TransactionFlowProperty.cs
- LineUtil.cs
- RelatedCurrencyManager.cs
- Int64AnimationUsingKeyFrames.cs
- SymbolType.cs
- MergeLocalizationDirectives.cs
- StopStoryboard.cs
- EventItfInfo.cs
- SafeBitVector32.cs