Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- SortKey.cs
- QueryCreatedEventArgs.cs
- Component.cs
- DataGridCaption.cs
- AttachedAnnotation.cs
- PropertyDescriptorGridEntry.cs
- SingleObjectCollection.cs
- RawUIStateInputReport.cs
- ErrorFormatter.cs
- ColumnResizeAdorner.cs
- AuthenticatedStream.cs
- AmbientLight.cs
- DataGridViewColumnDesigner.cs
- DrawingVisualDrawingContext.cs
- RotateTransform3D.cs
- XPathNavigatorKeyComparer.cs
- ComplexType.cs
- DesigntimeLicenseContextSerializer.cs
- CachedBitmap.cs
- LogicalExpressionTypeConverter.cs
- _NtlmClient.cs
- Condition.cs
- DesignerVerb.cs
- JapaneseCalendar.cs
- DetailsViewPageEventArgs.cs
- RuleSet.cs
- DesignTimeParseData.cs
- RouteItem.cs
- ByteStreamBufferedMessageData.cs
- ParameterInfo.cs
- OdbcInfoMessageEvent.cs
- TabControlCancelEvent.cs
- FrugalList.cs
- wmiutil.cs
- PingOptions.cs
- RowVisual.cs
- SqlFunctions.cs
- EntityDataSourceDesigner.cs
- ContextMenu.cs
- Int16AnimationBase.cs
- CodeMemberField.cs
- CodeDomSerializationProvider.cs
- FormatException.cs
- Visual3D.cs
- DSACryptoServiceProvider.cs
- SqlCacheDependencySection.cs
- ClientTarget.cs
- FilteredDataSetHelper.cs
- ReadOnlyTernaryTree.cs
- QuerySetOp.cs
- FormsAuthenticationModule.cs
- FormViewInsertedEventArgs.cs
- ListViewCommandEventArgs.cs
- Empty.cs
- XPathNavigatorReader.cs
- ThemeConfigurationDialog.cs
- TextSelection.cs
- TdsParserStateObject.cs
- Keyboard.cs
- CodeComment.cs
- BinaryConverter.cs
- SqlTriggerAttribute.cs
- DbConnectionClosed.cs
- TableDetailsRow.cs
- HtmlLabelAdapter.cs
- StringOutput.cs
- Vector.cs
- SingleAnimationBase.cs
- InvokeHandlers.cs
- Splitter.cs
- Rect.cs
- UmAlQuraCalendar.cs
- BinaryFormatterSinks.cs
- NativeCompoundFileAPIs.cs
- DataServiceQuery.cs
- ParagraphVisual.cs
- OneOf.cs
- TempEnvironment.cs
- Queue.cs
- RemoteTokenFactory.cs
- LinkedList.cs
- Optimizer.cs
- ScopelessEnumAttribute.cs
- DataGridPreparingCellForEditEventArgs.cs
- OrderedParallelQuery.cs
- DefaultTypeArgumentAttribute.cs
- BypassElementCollection.cs
- BuildProvidersCompiler.cs
- TextOutput.cs
- TextAnchor.cs
- DesignTimeParseData.cs
- ScriptRegistrationManager.cs
- AuthorizationRuleCollection.cs
- Random.cs
- XslVisitor.cs
- CapabilitiesRule.cs
- ProfileParameter.cs
- Ipv6Element.cs
- Debug.cs
- StylusPointPropertyId.cs