Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- UserPreferenceChangingEventArgs.cs
- SignatureSummaryDialog.cs
- UniqueIdentifierService.cs
- TemplateContent.cs
- CustomAttributeSerializer.cs
- _RequestCacheProtocol.cs
- ContentValidator.cs
- DataTable.cs
- HyperLinkField.cs
- ScriptControlManager.cs
- _WinHttpWebProxyDataBuilder.cs
- SchemaMapping.cs
- SqlOuterApplyReducer.cs
- DataBinding.cs
- DesignerLabelAdapter.cs
- AuthenticateEventArgs.cs
- RequestBringIntoViewEventArgs.cs
- ControlValuePropertyAttribute.cs
- OdbcPermission.cs
- CompiledELinqQueryState.cs
- TextContainerChangeEventArgs.cs
- EntityDesignerBuildProvider.cs
- UserThread.cs
- DataFormat.cs
- HwndMouseInputProvider.cs
- DataTableClearEvent.cs
- FileDialogCustomPlace.cs
- ScriptControlManager.cs
- FontFamilyConverter.cs
- FileController.cs
- embossbitmapeffect.cs
- NamedPipeChannelFactory.cs
- PagedDataSource.cs
- TabRenderer.cs
- TreeBuilderXamlTranslator.cs
- ButtonBase.cs
- RepeaterCommandEventArgs.cs
- SymbolUsageManager.cs
- XmlEntityReference.cs
- StreamGeometry.cs
- SQLBoolean.cs
- PropertyReferenceSerializer.cs
- TagPrefixCollection.cs
- WebPartManagerDesigner.cs
- XamlSerializerUtil.cs
- ErrorInfoXmlDocument.cs
- CodeTypeMember.cs
- SerialStream.cs
- DynamicDiscoSearcher.cs
- ListViewGroupConverter.cs
- CounterCreationData.cs
- HttpDictionary.cs
- CompareValidator.cs
- TemplatedMailWebEventProvider.cs
- ComponentEvent.cs
- TypeReference.cs
- WebServiceTypeData.cs
- BulletedListDesigner.cs
- RegistrySecurity.cs
- WorkflowApplicationUnloadedException.cs
- TypeLibConverter.cs
- UiaCoreTypesApi.cs
- _NetRes.cs
- ExpanderAutomationPeer.cs
- Base64Stream.cs
- ConsoleTraceListener.cs
- WindowInteractionStateTracker.cs
- ModifiableIteratorCollection.cs
- SymbolTable.cs
- Condition.cs
- ProfilePropertySettings.cs
- ComboBoxAutomationPeer.cs
- processwaithandle.cs
- ComAdminWrapper.cs
- DiscardableAttribute.cs
- TargetControlTypeCache.cs
- path.cs
- sqlstateclientmanager.cs
- WebControl.cs
- ReadOnlyDataSourceView.cs
- FileLogRecordHeader.cs
- RegistrySecurity.cs
- InstanceLockQueryResult.cs
- HwndSourceParameters.cs
- TaskFormBase.cs
- DbBuffer.cs
- ProgressBarRenderer.cs
- PropertyBuilder.cs
- EventPrivateKey.cs
- TextParagraphView.cs
- HitTestFilterBehavior.cs
- cookiecontainer.cs
- DataGridViewCheckBoxColumn.cs
- StateFinalizationDesigner.cs
- EventLogTraceListener.cs
- CacheDependency.cs
- FontFamily.cs
- WinInetCache.cs
- ColumnResizeUndoUnit.cs
- CategoryNameCollection.cs