Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- // // 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
- SmtpClient.cs
- PageParserFilter.cs
- TextAnchor.cs
- Misc.cs
- DefaultTraceListener.cs
- ActiveXSite.cs
- NodeInfo.cs
- SymbolMethod.cs
- PropertyChangedEventArgs.cs
- DTCTransactionManager.cs
- DataGridViewRowCancelEventArgs.cs
- SiteOfOriginPart.cs
- TemplateModeChangedEventArgs.cs
- NetStream.cs
- RulePatternOps.cs
- PerfCounters.cs
- COM2ColorConverter.cs
- OleDbRowUpdatingEvent.cs
- Tile.cs
- PropVariant.cs
- AppPool.cs
- PropertyItem.cs
- ResolveInfo.cs
- DefaultPrintController.cs
- MD5CryptoServiceProvider.cs
- SolidColorBrush.cs
- RegexCode.cs
- ToolBarPanel.cs
- UseLicense.cs
- UnicodeEncoding.cs
- CodeGen.cs
- TemplateBindingExpression.cs
- AnonymousIdentificationModule.cs
- CodeParameterDeclarationExpression.cs
- DifferencingCollection.cs
- SequentialOutput.cs
- IntPtr.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- OdbcFactory.cs
- Compiler.cs
- SymLanguageType.cs
- EdmComplexTypeAttribute.cs
- EndPoint.cs
- WindowsIPAddress.cs
- SuppressMergeCheckAttribute.cs
- VisualStyleInformation.cs
- IdentifierService.cs
- ConfigurationSettings.cs
- Calendar.cs
- ExtendedPropertyDescriptor.cs
- LookupBindingPropertiesAttribute.cs
- Stroke.cs
- StylusSystemGestureEventArgs.cs
- XdrBuilder.cs
- DiagnosticsConfiguration.cs
- ScriptManager.cs
- PerformanceCounterPermissionEntry.cs
- RenderDataDrawingContext.cs
- SafeThemeHandle.cs
- GenericRootAutomationPeer.cs
- EntityDataSourceColumn.cs
- SerializationSectionGroup.cs
- Expression.cs
- Configuration.cs
- ImmutableClientRuntime.cs
- ReservationNotFoundException.cs
- EntityDataSourceReferenceGroup.cs
- NamedPipeTransportBindingElement.cs
- WithParamAction.cs
- ProxyGenerationError.cs
- x509store.cs
- PropertyValue.cs
- RecognizerStateChangedEventArgs.cs
- RightsManagementEncryptionTransform.cs
- ColumnWidthChangingEvent.cs
- PackageDigitalSignature.cs
- GeometryGroup.cs
- BinaryFormatter.cs
- LicFileLicenseProvider.cs
- TemplateControlCodeDomTreeGenerator.cs
- StructuralObject.cs
- SapiGrammar.cs
- NativeWindow.cs
- BuiltInExpr.cs
- XamlClipboardData.cs
- ParseHttpDate.cs
- SqlCharStream.cs
- SystemColors.cs
- FixUp.cs
- FontCacheLogic.cs
- QuaternionAnimationUsingKeyFrames.cs
- TableLayoutColumnStyleCollection.cs
- IIS7ConfigurationLoader.cs
- ToolStripContentPanelDesigner.cs
- StringSorter.cs
- CustomExpression.cs
- IIS7UserPrincipal.cs
- InputBinder.cs
- BitStack.cs
- Base64Decoder.cs