Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Common / EntityRecordInfo.cs / 1 / 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
- SnapLine.cs
- SqlXmlStorage.cs
- HtmlGenericControl.cs
- SecurityContext.cs
- IdentifierCollection.cs
- ReferenceEqualityComparer.cs
- infer.cs
- ToolBar.cs
- HtmlTernaryTree.cs
- IncrementalCompileAnalyzer.cs
- XmlSerializerVersionAttribute.cs
- CodeArgumentReferenceExpression.cs
- DynamicActivityProperty.cs
- CheckableControlBaseAdapter.cs
- XamlStream.cs
- ipaddressinformationcollection.cs
- WebCategoryAttribute.cs
- ConfigurationSectionGroupCollection.cs
- ProxyWebPart.cs
- Win32KeyboardDevice.cs
- HttpListenerRequest.cs
- itemelement.cs
- XmlSchemaImport.cs
- UnsafeMethods.cs
- PenThreadPool.cs
- MarkupCompilePass2.cs
- AgileSafeNativeMemoryHandle.cs
- CssTextWriter.cs
- BoolExpr.cs
- View.cs
- ExpandedWrapper.cs
- WebControlsSection.cs
- Symbol.cs
- InfoCardSymmetricCrypto.cs
- XPathDocumentNavigator.cs
- RuntimeHandles.cs
- SqlStream.cs
- CustomTrackingRecord.cs
- controlskin.cs
- Int16.cs
- MarshalByRefObject.cs
- SectionInformation.cs
- InkCanvasAutomationPeer.cs
- HMACSHA512.cs
- CompilerCollection.cs
- EventlogProvider.cs
- DataGridAddNewRow.cs
- SpellCheck.cs
- TransactionFlowProperty.cs
- DataGridCell.cs
- InternalRelationshipCollection.cs
- InfiniteTimeSpanConverter.cs
- DataGridViewTextBoxColumn.cs
- GridViewActionList.cs
- AssertHelper.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- xdrvalidator.cs
- DatatypeImplementation.cs
- ServiceHttpHandlerFactory.cs
- AuthenticationModulesSection.cs
- XmlNodeReader.cs
- RouteValueExpressionBuilder.cs
- XamlFxTrace.cs
- QilVisitor.cs
- SEHException.cs
- Soap11ServerProtocol.cs
- TrackingServices.cs
- Keywords.cs
- ReachSerializationUtils.cs
- TemplateBindingExpressionConverter.cs
- UniqueContractNameValidationBehavior.cs
- MultiViewDesigner.cs
- DataTable.cs
- DataGridViewImageCell.cs
- FormatPage.cs
- DBConcurrencyException.cs
- WhereQueryOperator.cs
- ToolStripOverflowButton.cs
- CssStyleCollection.cs
- InkPresenter.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- WebPartMenuStyle.cs
- ControlAdapter.cs
- Condition.cs
- ValuePattern.cs
- TypeDescriptor.cs
- ScriptControlDescriptor.cs
- XmlSchemaObject.cs
- SamlAuthorityBinding.cs
- DesigntimeLicenseContextSerializer.cs
- DataList.cs
- CorrelationToken.cs
- DispatcherSynchronizationContext.cs
- PropertyTabAttribute.cs
- DataGridViewCellEventArgs.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- Control.cs
- Number.cs
- XPathConvert.cs
- SamlAssertionDirectKeyIdentifierClause.cs