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
- ElementsClipboardData.cs
- FormView.cs
- KerberosTokenFactoryCredential.cs
- WhitespaceRule.cs
- ContractTypeNameElement.cs
- TiffBitmapEncoder.cs
- SecureUICommand.cs
- SafeNativeMethods.cs
- UrlMappingsModule.cs
- AuthenticationServiceManager.cs
- ChannelDemuxer.cs
- NonParentingControl.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- SortAction.cs
- IdentityManager.cs
- XmlSchemaComplexContentRestriction.cs
- safex509handles.cs
- Win32Native.cs
- XPathNodeInfoAtom.cs
- glyphs.cs
- VisualStyleElement.cs
- InternalReceiveMessage.cs
- ServiceOperation.cs
- DataPagerField.cs
- BaseResourcesBuildProvider.cs
- GridSplitterAutomationPeer.cs
- ZipPackage.cs
- ParentQuery.cs
- BrowserDefinitionCollection.cs
- ConsoleKeyInfo.cs
- TreeNodeStyleCollection.cs
- BitConverter.cs
- ToolStripDropDown.cs
- ParameterModifier.cs
- MonitorWrapper.cs
- ColorPalette.cs
- ConvertEvent.cs
- CleanUpVirtualizedItemEventArgs.cs
- FontNamesConverter.cs
- LineVisual.cs
- TranslateTransform.cs
- Profiler.cs
- TextRangeSerialization.cs
- MultipartIdentifier.cs
- RootProfilePropertySettingsCollection.cs
- XmlDataImplementation.cs
- DependencyPropertyChangedEventArgs.cs
- TraceRecords.cs
- CancellationTokenSource.cs
- SynchronizationLockException.cs
- DataGridRowHeaderAutomationPeer.cs
- NamespaceEmitter.cs
- WorkflowHostingEndpoint.cs
- ControlBuilderAttribute.cs
- WindowsComboBox.cs
- RouteTable.cs
- PreviousTrackingServiceAttribute.cs
- PointLightBase.cs
- LayoutEditorPart.cs
- RsaEndpointIdentity.cs
- DataColumn.cs
- DateTimeOffsetAdapter.cs
- Lock.cs
- IntPtr.cs
- ColumnCollection.cs
- StackSpiller.Bindings.cs
- XmlElementAttribute.cs
- SqlClientMetaDataCollectionNames.cs
- UnsafeNetInfoNativeMethods.cs
- StringArrayConverter.cs
- CollectionContainer.cs
- QueryStringParameter.cs
- PageContentCollection.cs
- URLString.cs
- InlineUIContainer.cs
- UrlRoutingHandler.cs
- Timer.cs
- ProfilePropertySettings.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- MessageBodyMemberAttribute.cs
- MaterialGroup.cs
- SmiRequestExecutor.cs
- _ConnectionGroup.cs
- DataList.cs
- SafeThemeHandle.cs
- EncryptedType.cs
- ColumnClickEvent.cs
- mediaeventargs.cs
- TypeSystemProvider.cs
- XmlNodeReader.cs
- ContainerVisual.cs
- TokenBasedSetEnumerator.cs
- BufferedWebEventProvider.cs
- XPathMultyIterator.cs
- CalendarAutoFormat.cs
- XsdDuration.cs
- BigInt.cs
- DesignerSerializationVisibilityAttribute.cs
- CombinedGeometry.cs
- GPStream.cs