Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- LeftCellWrapper.cs
- DiagnosticsConfigurationHandler.cs
- CodeDirectiveCollection.cs
- GatewayIPAddressInformationCollection.cs
- JsonByteArrayDataContract.cs
- BitmapEffectvisualstate.cs
- JavaScriptString.cs
- Main.cs
- _HeaderInfoTable.cs
- ReadOnlyObservableCollection.cs
- serverconfig.cs
- util.cs
- querybuilder.cs
- OleDbInfoMessageEvent.cs
- EventToken.cs
- HtmlInputText.cs
- While.cs
- SamlAuthenticationStatement.cs
- ParenthesizePropertyNameAttribute.cs
- TabletDevice.cs
- DataSetSchema.cs
- MenuItem.cs
- DataGridTablesFactory.cs
- RangeValuePatternIdentifiers.cs
- MimeParameters.cs
- Empty.cs
- ProtocolImporter.cs
- ButtonRenderer.cs
- CqlQuery.cs
- WindowsFormsSectionHandler.cs
- XmlDocumentFragment.cs
- _AutoWebProxyScriptEngine.cs
- DataGridViewSelectedCellCollection.cs
- DoubleLink.cs
- xsdvalidator.cs
- MSAANativeProvider.cs
- XmlQueryTypeFactory.cs
- UriTemplate.cs
- WorkflowViewManager.cs
- PrivilegeNotHeldException.cs
- ResourceAttributes.cs
- EntityClassGenerator.cs
- DataSourceCacheDurationConverter.cs
- TextElementCollection.cs
- ModelItemDictionaryImpl.cs
- XPathSelectionIterator.cs
- CodeObjectCreateExpression.cs
- HttpCachePolicyElement.cs
- AsyncResult.cs
- TemplateBamlRecordReader.cs
- PanelContainerDesigner.cs
- BevelBitmapEffect.cs
- GcHandle.cs
- DocumentPageHost.cs
- XsltQilFactory.cs
- DifferencingCollection.cs
- WebSysDescriptionAttribute.cs
- EventSinkHelperWriter.cs
- StdValidatorsAndConverters.cs
- ConfigsHelper.cs
- PointCollectionConverter.cs
- WeakReadOnlyCollection.cs
- iisPickupDirectory.cs
- HttpCacheVary.cs
- ToggleProviderWrapper.cs
- DaylightTime.cs
- RangeValidator.cs
- BamlCollectionHolder.cs
- COM2ExtendedBrowsingHandler.cs
- CodeObjectCreateExpression.cs
- XmlSubtreeReader.cs
- InvokeWebServiceDesigner.cs
- SqlDataSourceConfigureFilterForm.cs
- Transactions.cs
- PagedControl.cs
- SqlInternalConnection.cs
- DPCustomTypeDescriptor.cs
- BinaryNode.cs
- SerializationAttributes.cs
- LayoutInformation.cs
- XmlILAnnotation.cs
- PropertyInfoSet.cs
- cookiecollection.cs
- Rect.cs
- hebrewshape.cs
- ToolStripProgressBar.cs
- ColumnPropertiesGroup.cs
- ComplexTypeEmitter.cs
- IdentityHolder.cs
- XmlTextReaderImplHelpers.cs
- ServiceRouteHandler.cs
- IncrementalCompileAnalyzer.cs
- DataGridComboBoxColumn.cs
- FunctionQuery.cs
- EncryptedKey.cs
- Scene3D.cs
- DictionaryManager.cs
- HttpRuntimeSection.cs
- LineVisual.cs
- HttpRuntimeSection.cs