Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / EntityRecordInfo.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IfJoinedCondition.cs
- SelfIssuedAuthRSACryptoProvider.cs
- EdgeProfileValidation.cs
- PointHitTestParameters.cs
- ScriptHandlerFactory.cs
- ToolStripSplitStackLayout.cs
- ReaderWriterLock.cs
- TimeSpanValidator.cs
- ListComponentEditor.cs
- EntityCodeGenerator.cs
- COM2IDispatchConverter.cs
- HighlightComponent.cs
- ReceiveActivityDesignerTheme.cs
- SystemFonts.cs
- ItemTypeToolStripMenuItem.cs
- ProcessMonitor.cs
- LayoutEditorPart.cs
- ProfileInfo.cs
- Quack.cs
- DiscoveryServerProtocol.cs
- MessageOperationFormatter.cs
- EntityDataSource.cs
- ExpressionNormalizer.cs
- Faults.cs
- Part.cs
- EntityDataSourceDesignerHelper.cs
- ToolStripSettings.cs
- ToolStripItem.cs
- EventRecord.cs
- SecurityUniqueId.cs
- StrongNameUtility.cs
- FlowchartStart.xaml.cs
- MergeLocalizationDirectives.cs
- Row.cs
- Table.cs
- BinaryObjectInfo.cs
- TextElementEnumerator.cs
- EdmValidator.cs
- FullTextState.cs
- DLinqAssociationProvider.cs
- WebColorConverter.cs
- ApplicationTrust.cs
- RadioButton.cs
- SqlMethodCallConverter.cs
- ComPlusSynchronizationContext.cs
- DatatypeImplementation.cs
- Soap12ProtocolReflector.cs
- NativeMethods.cs
- DbCommandDefinition.cs
- XmlQualifiedName.cs
- keycontainerpermission.cs
- AbsoluteQuery.cs
- FormViewCommandEventArgs.cs
- EraserBehavior.cs
- FileRecordSequenceHelper.cs
- PenContexts.cs
- StatusStrip.cs
- ZipPackagePart.cs
- ServiceThrottlingElement.cs
- SamlAssertionKeyIdentifierClause.cs
- ModelVisual3D.cs
- TraceHwndHost.cs
- EditorPartCollection.cs
- GPRECT.cs
- SystemDiagnosticsSection.cs
- SrgsElementFactoryCompiler.cs
- M3DUtil.cs
- MessageQueueTransaction.cs
- XD.cs
- XmlReaderSettings.cs
- HttpApplicationFactory.cs
- Header.cs
- Int32Rect.cs
- GraphicsPath.cs
- ScriptComponentDescriptor.cs
- TreeView.cs
- BoundsDrawingContextWalker.cs
- ReflectionServiceProvider.cs
- MonikerUtility.cs
- ListMarkerSourceInfo.cs
- CodeVariableDeclarationStatement.cs
- DataStreamFromComStream.cs
- SerializationSectionGroup.cs
- PenThreadWorker.cs
- XmlElement.cs
- UnsettableComboBox.cs
- DragDrop.cs
- DesignConnectionCollection.cs
- HtmlInputText.cs
- HMAC.cs
- PropertyGridEditorPart.cs
- FilteredDataSetHelper.cs
- ViewBox.cs
- TypeConverterHelper.cs
- FontFamilyValueSerializer.cs
- FlowDocumentScrollViewer.cs
- Pkcs9Attribute.cs
- ReaderWriterLockWrapper.cs
- ResourceSet.cs
- ListChunk.cs