本文整理汇总了C#中System.Data.UniqueConstraint.Equals方法的典型用法代码示例。如果您正苦于以下问题:C# UniqueConstraint.Equals方法的具体用法?C# UniqueConstraint.Equals怎么用?C# UniqueConstraint.Equals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.UniqueConstraint
的用法示例。
在下文中一共展示了UniqueConstraint.Equals方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Equals_O
[Test] public void Equals_O()
{
DataSet ds = new DataSet();
DataTable dtParent = DataProvider.CreateParentDataTable();
ds.Tables.Add(dtParent);
UniqueConstraint uc1,uc2;
uc1 = new UniqueConstraint(dtParent.Columns[0]);
uc2 = new UniqueConstraint(dtParent.Columns[1]);
// different columnn
Assert.AreEqual(false, uc1.Equals(uc2), "UC3");
//Two System.Data.ForeignKeyConstraint are equal if they constrain the same columns.
// same column
uc2 = new UniqueConstraint(dtParent.Columns[0]);
Assert.AreEqual(true, uc1.Equals(uc2), "UC4");
}
示例2: SetupSchemaWithKeyInfo
//.........这里部分代码省略.........
array2[unsortedIndex] = dataColumn.Ordinal;
}
else
{
if (unsortedIndex != dataColumn.Ordinal)
{
array2 = this.CreateIndexMap(sortedSchemaRows.Length, unsortedIndex);
array2[unsortedIndex] = dataColumn.Ordinal;
}
}
num2++;
}
}
bool flag6 = false;
DataColumn dataColumn2 = null;
if (chapterValue != null)
{
Type type2 = chapterValue.GetType();
dataColumn2 = this._tableMapping.GetDataColumn(this._tableMapping.SourceTable, type2, this._dataTable, mappingAction, schemaAction);
if (dataColumn2 != null)
{
if (dataColumn2.Table == null)
{
dataColumn2.ReadOnly = true;
dataColumn2.AllowDBNull = false;
this.AddItemToAllowRollback(ref items, dataColumn2);
columns.Add(dataColumn2);
flag6 = (null != parentChapterColumn);
}
num2++;
}
}
if (0 < num2)
{
if (this._dataSet != null && this._dataTable.DataSet == null)
{
this.AddItemToAllowRollback(ref items, this._dataTable);
this._dataSet.Tables.Add(this._dataTable);
}
if (flag && array != null)
{
if (num < array.Length)
{
array = this.ResizeColumnArray(array, num);
}
if (flag2)
{
this._dataTable.PrimaryKey = array;
}
else
{
UniqueConstraint uniqueConstraint = new UniqueConstraint("", array);
ConstraintCollection constraints = this._dataTable.Constraints;
int count = constraints.Count;
for (int k = 0; k < count; k++)
{
if (uniqueConstraint.Equals(constraints[k]))
{
uniqueConstraint = null;
break;
}
}
if (uniqueConstraint != null)
{
constraints.Add(uniqueConstraint);
}
}
}
if (!flag4 && !string.IsNullOrEmpty(text2) && string.IsNullOrEmpty(this._dataTable.TableName))
{
this._dataTable.TableName = text2;
}
if (gettingData)
{
this._indexMap = array2;
this._chapterMap = array3;
result = this.SetupMapping(sortedSchemaRows.Length, columns, dataColumn2, chapterValue);
}
else
{
this._mappedMode = -1;
}
}
else
{
this._dataTable = null;
}
if (flag6)
{
this.AddRelation(parentChapterColumn, dataColumn2);
}
}
catch (Exception e)
{
this.RollbackAddedItems(items);
throw e;
}
return result;
}
示例3: SetupSchemaWithKeyInfo
//.........这里部分代码省略.........
else if (unsortedIndex != dataColumn.Ordinal) {
columnIndexMap = CreateIndexMap(schemaRows.Length, unsortedIndex);
columnIndexMap[unsortedIndex] = dataColumn.Ordinal;
}
mappingCount++;
}
bool addDataRelation = false;
DataColumn chapterColumn = null;
if (null != chapterValue) { // add the extra column in the child table
Type fieldType = chapterValue.GetType();
chapterColumn = _tableMapping.GetDataColumn(_tableMapping.SourceTable, fieldType, _dataTable, mappingAction, schemaAction);
if (null != chapterColumn) {
if (null == chapterColumn.Table) {
chapterColumn.ReadOnly = true; // MDAC 71878
chapterColumn.AllowDBNull = false;
AddItemToAllowRollback(ref addedItems, chapterColumn);
columnCollection.Add(chapterColumn);
addDataRelation = (null != parentChapterColumn);
}
mappingCount++;
}
}
if (0 < mappingCount) {
if ((null != _dataSet) && null == _dataTable.DataSet) {
AddItemToAllowRollback(ref addedItems, _dataTable);
_dataSet.Tables.Add(_dataTable);
}
// setup the key
if (addPrimaryKeys && (null != keys)) { // MDAC 67033
if (keyCount < keys.Length) {
keys = ResizeColumnArray(keys, keyCount);
}
// MDAC 66188
if (isPrimary) {
#if DEBUG
if (AdapterSwitches.DataSchema.TraceVerbose) {
Debug.WriteLine("SetupSchema: set_PrimaryKey");
}
#endif
_dataTable.PrimaryKey = keys;
}
else {
UniqueConstraint unique = new UniqueConstraint("", keys);
ConstraintCollection constraints = _dataTable.Constraints;
int constraintCount = constraints.Count;
for (int i = 0; i < constraintCount; ++i) {
if (unique.Equals(constraints[i])) {
#if DEBUG
if (AdapterSwitches.DataSchema.TraceVerbose) {
Debug.WriteLine("SetupSchema: duplicate Contraint detected");
}
#endif
unique = null;
break;
}
}
if (null != unique) {
#if DEBUG
if (AdapterSwitches.DataSchema.TraceVerbose) {
Debug.WriteLine("SetupSchema: adding new UniqueConstraint");
}
#endif
constraints.Add(unique);
}
}
}
if (!commonFromMultiTable && !ADP.IsEmpty(commonBaseTable) && ADP.IsEmpty(_dataTable.TableName)) {
_dataTable.TableName = commonBaseTable;
}
if (gettingData) {
_indexMap = columnIndexMap;
_chapterMap = chapterIndexMap;
dataValues = SetupMapping(schemaRows.Length, columnCollection, chapterColumn, chapterValue);
}
else {
// debug only, but for retail debug ability
_mappedMode = -1;
}
}
else {
_dataTable = null;
}
if (addDataRelation) {
AddRelation(parentChapterColumn, chapterColumn);
}
}
catch (Exception e) {
if (ADP.IsCatchableOrSecurityExceptionType(e)) {
RollbackAddedItems(addedItems);
}
throw;
}
return dataValues;
}
示例4: run
//Activate This Construntor to log All To Standard output
//public TestClass():base(true){}
//Activate this constructor to log Failures to a log file
//public TestClass(System.IO.TextWriter tw):base(tw, false){}
//Activate this constructor to log All to a log file
//public TestClass(System.IO.TextWriter tw):base(tw, true){}
//BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES
public void run()
{
Exception exp = null;
DataSet ds = new DataSet();
DataTable dtParent = GHTUtils.DataProvider.CreateParentDataTable();
ds.Tables.Add(dtParent);
UniqueConstraint uc1,uc2;
uc1 = new UniqueConstraint(dtParent.Columns[0]);
uc2 = new UniqueConstraint(dtParent.Columns[1]);
try
{
BeginCase("different columnn");
Compare(uc1.Equals(uc2),false);
}
catch(Exception ex) {exp = ex;}
finally {EndCase(exp); exp = null;}
//Two System.Data.ForeignKeyConstraint are equal if they constrain the same columns.
try
{
BeginCase("same column");
uc2 = new UniqueConstraint(dtParent.Columns[0]);
Compare(uc1.Equals(uc2),true);
}
catch(Exception ex) {exp = ex;}
finally {EndCase(exp); exp = null;}
}
示例5: EqualsAndHashCode
public void EqualsAndHashCode ()
{
UniqueConstraint cst = new UniqueConstraint (new DataColumn [] {
_table.Columns[0], _table.Columns[1]});
UniqueConstraint cst2 = new UniqueConstraint (new DataColumn [] {
_table.Columns[1], _table.Columns[0]});
UniqueConstraint cst3 = new UniqueConstraint (_table.Columns [0]);
UniqueConstraint cst4 = new UniqueConstraint (_table.Columns [2]);
//true
Assert.That (cst.Equals (cst2), Is.True, "A0");
//false
Assert.That (cst.Equals (23), Is.False, "A1");
Assert.That (cst.Equals (cst3), Is.False, "A2");
Assert.That (cst3.Equals (cst), Is.False, "A3");
Assert.That (cst.Equals (cst4), Is.False, "A4");
//true
Assert.That (cst.GetHashCode (), Is.EqualTo (cst2.GetHashCode ()), "HashEquals");
//false
Assert.That (cst.GetHashCode (), Is.Not.EqualTo (cst3.GetHashCode ()), "Hash Not Equals");
}
示例6: SetupSchemaWithKeyInfo
//.........这里部分代码省略.........
{
numArray[unsortedIndex] = targetColumn.Ordinal;
}
else if (unsortedIndex != targetColumn.Ordinal)
{
numArray = this.CreateIndexMap(sortedSchemaRows.Length, unsortedIndex);
numArray[unsortedIndex] = targetColumn.Ordinal;
}
num3++;
}
}
bool flag4 = false;
DataColumn column2 = null;
if (chapterValue != null)
{
Type type = chapterValue.GetType();
column2 = this._tableMapping.GetDataColumn(this._tableMapping.SourceTable, type, this._dataTable, mappingAction, schemaAction);
if (column2 != null)
{
if (column2.Table == null)
{
column2.ReadOnly = true;
column2.AllowDBNull = false;
this.AddItemToAllowRollback(ref items, column2);
columnCollection.Add(column2);
flag4 = null != parentChapterColumn;
}
num3++;
}
}
if (0 < num3)
{
if ((this._dataSet != null) && (this._dataTable.DataSet == null))
{
this.AddItemToAllowRollback(ref items, this._dataTable);
this._dataSet.Tables.Add(this._dataTable);
}
if (flag3 && (rgcol != null))
{
if (len < rgcol.Length)
{
rgcol = this.ResizeColumnArray(rgcol, len);
}
if (flag2)
{
this._dataTable.PrimaryKey = rgcol;
}
else
{
UniqueConstraint constraint = new UniqueConstraint("", rgcol);
ConstraintCollection constraints = this._dataTable.Constraints;
int count = constraints.Count;
for (int k = 0; k < count; k++)
{
if (constraint.Equals(constraints[k]))
{
constraint = null;
break;
}
}
if (constraint != null)
{
constraints.Add(constraint);
}
}
}
if ((!flag && !ADP.IsEmpty(str2)) && ADP.IsEmpty(this._dataTable.TableName))
{
this._dataTable.TableName = str2;
}
if (gettingData)
{
this._indexMap = numArray;
this._chapterMap = flagArray;
objArray = this.SetupMapping(sortedSchemaRows.Length, columnCollection, column2, chapterValue);
}
else
{
this._mappedMode = -1;
}
}
else
{
this._dataTable = null;
}
if (flag4)
{
this.AddRelation(parentChapterColumn, column2);
}
}
catch (Exception exception)
{
if (ADP.IsCatchableOrSecurityExceptionType(exception))
{
this.RollbackAddedItems(items);
}
throw;
}
return objArray;
}
示例7: EqualsAndHashCode
public void EqualsAndHashCode() {
UniqueConstraint cst = new UniqueConstraint( new DataColumn [] {
_table.Columns[0], _table.Columns[1]});
UniqueConstraint cst2 = new UniqueConstraint( new DataColumn [] {
_table.Columns[1], _table.Columns[0]});
UniqueConstraint cst3 = new UniqueConstraint(_table.Columns[0]);
UniqueConstraint cst4 = new UniqueConstraint(_table.Columns[2]);
//true
Assert(cst.Equals(cst2) == true);
//false
Assert("A1", cst.Equals(23) == false);
Assert("A2", cst.Equals(cst3) == false);
Assert("A3", cst3.Equals(cst) == false);
Assert("A4", cst.Equals(cst4) == false);
//true
Assert("HashEquals", cst.GetHashCode() == cst2.GetHashCode());
//false
Assert("Hash Not Equals", (cst.GetHashCode() == cst3.GetHashCode()) == false);
}