当前位置: 首页>>代码示例>>C#>>正文


C# DataRelation.CheckState方法代码示例

本文整理汇总了C#中System.Data.DataRelation.CheckState方法的典型用法代码示例。如果您正苦于以下问题:C# DataRelation.CheckState方法的具体用法?C# DataRelation.CheckState怎么用?C# DataRelation.CheckState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Data.DataRelation的用法示例。


在下文中一共展示了DataRelation.CheckState方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddCore

 /// <devdoc>
 /// Does verification on the table.
 /// An ArgumentNullException is thrown if this relation is null.  An ArgumentException is thrown if this relation
 ///  already belongs to this collection, belongs to another collection.
 /// A DuplicateNameException is thrown if this collection already has a relation with the same
 /// name (case insensitive).
 /// </devdoc>
 protected virtual void AddCore(DataRelation relation) {
     Bid.Trace("<ds.DataRelationCollection.AddCore|INFO> %d#, relation=%d\n", ObjectID, (relation != null) ? relation.ObjectID : 0);
     if (relation == null)
         throw ExceptionBuilder.ArgumentNull("relation");
     relation.CheckState();
     DataSet dataSet = GetDataSet();
     if (relation.DataSet == dataSet)
         throw ExceptionBuilder.RelationAlreadyInTheDataSet();
     if (relation.DataSet != null)
         throw ExceptionBuilder.RelationAlreadyInOtherDataSet();
     if (relation.ChildTable.Locale.LCID != relation.ParentTable.Locale.LCID ||
         relation.ChildTable.CaseSensitive != relation.ParentTable.CaseSensitive)
         throw ExceptionBuilder.CaseLocaleMismatch();
     if (relation.Nested) {
         relation.CheckNamespaceValidityForNestedRelations(relation.ParentTable.Namespace);
         relation.ValidateMultipleNestedRelations();
         relation.ParentTable.ElementColumnCount++;
     }
 }
开发者ID:krytht,项目名称:DotNetReferenceSource,代码行数:26,代码来源:DataRelationCollection.cs

示例2: AddCore

 protected override void AddCore(DataRelation relation)
 {
     base.AddCore(relation);
     if ((relation.ChildTable.DataSet != this.dataSet) || (relation.ParentTable.DataSet != this.dataSet))
     {
         throw ExceptionBuilder.ForeignRelation();
     }
     relation.CheckState();
     if (relation.Nested)
     {
         relation.CheckNestedRelations();
     }
     if (relation.relationName.Length == 0)
     {
         relation.relationName = base.AssignName();
     }
     else
     {
         base.RegisterName(relation.relationName);
     }
     DataKey childKey = relation.ChildKey;
     for (int i = 0; i < this.relations.Count; i++)
     {
         if (childKey.ColumnsEqual(((DataRelation) this.relations[i]).ChildKey) && relation.ParentKey.ColumnsEqual(((DataRelation) this.relations[i]).ParentKey))
         {
             throw ExceptionBuilder.RelationAlreadyExists();
         }
     }
     this.relations.Add(relation);
     ((DataRelationCollection.DataTableRelationCollection) relation.ParentTable.ChildRelations).Add(relation);
     ((DataRelationCollection.DataTableRelationCollection) relation.ChildTable.ParentRelations).Add(relation);
     relation.SetDataSet(this.dataSet);
     relation.ChildKey.GetSortIndex().AddRef();
     if (relation.Nested)
     {
         relation.ChildTable.CacheNestedParent();
     }
     ForeignKeyConstraint constraint = relation.ChildTable.Constraints.FindForeignKeyConstraint(relation.ParentColumnsReference, relation.ChildColumnsReference);
     if (relation.createConstraints && (constraint == null))
     {
         relation.ChildTable.Constraints.Add(constraint = new ForeignKeyConstraint(relation.ParentColumnsReference, relation.ChildColumnsReference));
         try
         {
             constraint.ConstraintName = relation.RelationName;
         }
         catch (Exception exception)
         {
             if (!ADP.IsCatchableExceptionType(exception))
             {
                 throw;
             }
             ExceptionBuilder.TraceExceptionWithoutRethrow(exception);
         }
     }
     UniqueConstraint constraint2 = relation.ParentTable.Constraints.FindKeyConstraint(relation.ParentColumnsReference);
     relation.SetParentKeyConstraint(constraint2);
     relation.SetChildKeyConstraint(constraint);
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:58,代码来源:DataRelationCollection.cs


注:本文中的System.Data.DataRelation.CheckState方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。