Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / EntityRecordInfo.cs / 2 / EntityRecordInfo.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data.Common { using System.Data; using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Diagnostics; ////// EntityRecordInfo class providing a simple way to access both the type information and the column information. /// public class EntityRecordInfo : DataRecordInfo { private readonly EntityKey _entityKey; private readonly EntitySet _entitySet; ////// /// /// /// /// public EntityRecordInfo(EntityType metadata, IEnumerablememberInfo, EntityKey entityKey, EntitySet entitySet) : base(TypeUsage.Create(metadata), memberInfo) { EntityUtil.CheckArgumentNull (entityKey, "entityKey"); EntityUtil.CheckArgumentNull(entitySet, "entitySet"); _entityKey = entityKey; _entitySet = entitySet; ValidateEntityType(entitySet); } /// /// /// /// /// internal EntityRecordInfo(EntityType metadata, EntityKey entityKey, EntitySet entitySet) : base(TypeUsage.Create(metadata)) { EntityUtil.CheckArgumentNull(entityKey, "entityKey"); _entityKey = entityKey; _entitySet = entitySet; #if DEBUG try { ValidateEntityType(entitySet); } catch { Debug.Assert(false, "should always be valid EntityType when internally constructed"); throw; } #endif } /// /// Reusing TypeUsage and FieldMetadata from another EntityRecordInfo which has all the same info /// but with a different EntityKey instance. /// internal EntityRecordInfo(DataRecordInfo info, EntityKey entityKey, EntitySet entitySet) : base(info) { _entityKey = entityKey; _entitySet = entitySet; #if DEBUG try { ValidateEntityType(entitySet); } catch { Debug.Assert(false, "should always be valid EntityType when internally constructed"); throw; } #endif } ////// the EntityKey /// public EntityKey EntityKey { get { return _entityKey; } } // using EntitySetBase versus EntitySet prevents the unnecessary cast of ElementType to EntityType private void ValidateEntityType(EntitySetBase entitySet) { if (!object.ReferenceEquals(RecordType.EdmType, null) && !object.ReferenceEquals(_entityKey, EntityKey.EntityNotValidKey) && !object.ReferenceEquals(_entityKey, EntityKey.NoEntitySetKey) && !object.ReferenceEquals(RecordType.EdmType, entitySet.ElementType) && !entitySet.ElementType.IsBaseTypeOf(RecordType.EdmType)) { throw EntityUtil.Argument(System.Data.Entity.Strings.EntityTypesDoNotAgree); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data.Common { using System.Data; using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Diagnostics; ////// EntityRecordInfo class providing a simple way to access both the type information and the column information. /// public class EntityRecordInfo : DataRecordInfo { private readonly EntityKey _entityKey; private readonly EntitySet _entitySet; ////// /// /// /// /// public EntityRecordInfo(EntityType metadata, IEnumerablememberInfo, EntityKey entityKey, EntitySet entitySet) : base(TypeUsage.Create(metadata), memberInfo) { EntityUtil.CheckArgumentNull (entityKey, "entityKey"); EntityUtil.CheckArgumentNull(entitySet, "entitySet"); _entityKey = entityKey; _entitySet = entitySet; ValidateEntityType(entitySet); } /// /// /// /// /// internal EntityRecordInfo(EntityType metadata, EntityKey entityKey, EntitySet entitySet) : base(TypeUsage.Create(metadata)) { EntityUtil.CheckArgumentNull(entityKey, "entityKey"); _entityKey = entityKey; _entitySet = entitySet; #if DEBUG try { ValidateEntityType(entitySet); } catch { Debug.Assert(false, "should always be valid EntityType when internally constructed"); throw; } #endif } /// /// Reusing TypeUsage and FieldMetadata from another EntityRecordInfo which has all the same info /// but with a different EntityKey instance. /// internal EntityRecordInfo(DataRecordInfo info, EntityKey entityKey, EntitySet entitySet) : base(info) { _entityKey = entityKey; _entitySet = entitySet; #if DEBUG try { ValidateEntityType(entitySet); } catch { Debug.Assert(false, "should always be valid EntityType when internally constructed"); throw; } #endif } ////// the EntityKey /// public EntityKey EntityKey { get { return _entityKey; } } // using EntitySetBase versus EntitySet prevents the unnecessary cast of ElementType to EntityType private void ValidateEntityType(EntitySetBase entitySet) { if (!object.ReferenceEquals(RecordType.EdmType, null) && !object.ReferenceEquals(_entityKey, EntityKey.EntityNotValidKey) && !object.ReferenceEquals(_entityKey, EntityKey.NoEntitySetKey) && !object.ReferenceEquals(RecordType.EdmType, entitySet.ElementType) && !entitySet.ElementType.IsBaseTypeOf(RecordType.EdmType)) { throw EntityUtil.Argument(System.Data.Entity.Strings.EntityTypesDoNotAgree); } } } } // 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
- WebPartHeaderCloseVerb.cs
- StrokeNodeData.cs
- DashStyle.cs
- FrameworkElement.cs
- DBPropSet.cs
- DragDrop.cs
- Journaling.cs
- HtmlInputReset.cs
- IndexingContentUnit.cs
- BuildDependencySet.cs
- _SslSessionsCache.cs
- TdsParser.cs
- PngBitmapEncoder.cs
- ErrorFormatter.cs
- CircleHotSpot.cs
- RegexCompiler.cs
- Validator.cs
- ServiceOperation.cs
- TableRowCollection.cs
- PersistenceTypeAttribute.cs
- SessionStateContainer.cs
- ExtractedStateEntry.cs
- OSFeature.cs
- ObservableCollectionDefaultValueFactory.cs
- Tracking.cs
- AttributeAction.cs
- SqlAggregateChecker.cs
- HatchBrush.cs
- MetadataArtifactLoaderResource.cs
- OleDbTransaction.cs
- HtmlTextArea.cs
- DataGridColumnReorderingEventArgs.cs
- Model3DGroup.cs
- CodeSnippetCompileUnit.cs
- StorageMappingItemCollection.cs
- RulePatternOps.cs
- LineSegment.cs
- TextBox.cs
- DataObject.cs
- TemplateNameScope.cs
- DataGridViewColumn.cs
- XmlSubtreeReader.cs
- CatalogPart.cs
- SaveFileDialog.cs
- DrawingContextDrawingContextWalker.cs
- BatchStream.cs
- SortedList.cs
- MetafileHeader.cs
- WebHttpSecurityElement.cs
- SrgsSubset.cs
- UnknownExceptionActionHelper.cs
- EncoderExceptionFallback.cs
- EntityDataSourceEntitySetNameItem.cs
- ProofTokenCryptoHandle.cs
- CodeConstructor.cs
- CompositionTarget.cs
- TypeRefElement.cs
- CalendarDayButton.cs
- XmlAnyElementAttribute.cs
- ViewStateException.cs
- EventLogTraceListener.cs
- Rotation3DAnimationUsingKeyFrames.cs
- ScrollData.cs
- PageVisual.cs
- PageHandlerFactory.cs
- TemplateComponentConnector.cs
- CompilationRelaxations.cs
- CompositeDataBoundControl.cs
- LoginUtil.cs
- JavaScriptString.cs
- LightweightCodeGenerator.cs
- CodeCompiler.cs
- oledbmetadatacolumnnames.cs
- ErrorWebPart.cs
- CodeGenerator.cs
- TypeDelegator.cs
- CultureTableRecord.cs
- WindowsListViewItemStartMenu.cs
- ClientConfigPaths.cs
- TextDataBindingHandler.cs
- PropertyGridEditorPart.cs
- ProviderSettingsCollection.cs
- HostAdapter.cs
- MetadataItem_Static.cs
- VerificationException.cs
- ModuleBuilder.cs
- DataException.cs
- DrawingImage.cs
- ControlCachePolicy.cs
- ToolStripSplitButton.cs
- CalculatedColumn.cs
- _SingleItemRequestCache.cs
- RootBrowserWindowProxy.cs
- GroupQuery.cs
- MetadataCacheItem.cs
- ReachDocumentPageSerializerAsync.cs
- SiteMapHierarchicalDataSourceView.cs
- IChannel.cs
- XmlILOptimizerVisitor.cs
- XmlCodeExporter.cs