Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Design / system / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 1305376 / 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); } } } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "KeyProperties")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = ".ctor")] 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
- CaseKeyBox.ViewModel.cs
- CurrentChangingEventManager.cs
- SyntaxCheck.cs
- WindowsListViewGroup.cs
- DataGridRow.cs
- Model3D.cs
- XPathScanner.cs
- XsltConvert.cs
- CachedBitmap.cs
- AndMessageFilterTable.cs
- ServiceDescriptionImporter.cs
- SizeValueSerializer.cs
- XmlSerializerAssemblyAttribute.cs
- SendActivityValidator.cs
- XamlSerializer.cs
- CellTreeNode.cs
- CssTextWriter.cs
- AudioStateChangedEventArgs.cs
- WorkflowDefinitionDispenser.cs
- FixUpCollection.cs
- AssemblyAttributesGoHere.cs
- MergePropertyDescriptor.cs
- ApplyTemplatesAction.cs
- InheritablePropertyChangeInfo.cs
- ExpressionWriter.cs
- Int32RectConverter.cs
- ListViewItem.cs
- processwaithandle.cs
- MaskPropertyEditor.cs
- OraclePermission.cs
- ObjectDataSourceEventArgs.cs
- XhtmlTextWriter.cs
- QueryReaderSettings.cs
- RichTextBoxAutomationPeer.cs
- DataGridRelationshipRow.cs
- ExternalDataExchangeService.cs
- DebuggerAttributes.cs
- CookieParameter.cs
- SessionStateSection.cs
- PropertyGridEditorPart.cs
- CustomAttributeSerializer.cs
- AspProxy.cs
- MainMenu.cs
- ChannelManagerBase.cs
- ProviderUtil.cs
- DataTableReaderListener.cs
- DesignerTransactionCloseEvent.cs
- TlsnegoTokenProvider.cs
- SimpleNameService.cs
- TypefaceCollection.cs
- TreeWalker.cs
- GatewayDefinition.cs
- RadioButtonList.cs
- EventSetter.cs
- GridViewCommandEventArgs.cs
- DataSourceComponent.cs
- ProviderConnectionPointCollection.cs
- StorageTypeMapping.cs
- PropertyAccessVisitor.cs
- DrawingContextWalker.cs
- XmlSchemaDocumentation.cs
- CapiNative.cs
- DataGridPreparingCellForEditEventArgs.cs
- SortedDictionary.cs
- GenericIdentity.cs
- TextTreeFixupNode.cs
- DataIdProcessor.cs
- XslVisitor.cs
- Decimal.cs
- DataColumnChangeEvent.cs
- NativeMethods.cs
- BehaviorEditorPart.cs
- PropertyGridView.cs
- ConfigXmlWhitespace.cs
- Vector3DAnimationUsingKeyFrames.cs
- IteratorAsyncResult.cs
- DurableInstanceProvider.cs
- Help.cs
- SelectionWordBreaker.cs
- RoleService.cs
- TextTreeTextNode.cs
- ScriptReferenceBase.cs
- TypeDependencyAttribute.cs
- ComponentDispatcherThread.cs
- MdbDataFileEditor.cs
- MDIControlStrip.cs
- EntityContainerRelationshipSet.cs
- DescendantQuery.cs
- TemplateControl.cs
- ScrollChrome.cs
- SafeTimerHandle.cs
- XmlSchemaElement.cs
- DbBuffer.cs
- ComponentEditorForm.cs
- RawMouseInputReport.cs
- WebBodyFormatMessageProperty.cs
- ProfileSection.cs
- ConstrainedDataObject.cs
- PageThemeBuildProvider.cs
- LOSFormatter.cs