/// <summary> /// 读取指定数据库中表的所有约束 /// </summary> /// <param name="tableName">指定表</param> /// <param name="dbName">指定数据库</param> public static List <ConstraintInfo> GetConstraintInfo(string tableName, string dbName) { List <ConstraintInfo> retVal = new List <ConstraintInfo>(); string sqlCommand = string.Format(@"select a.COLUMN_NAME,a.CONSTRAINT_NAME,b.CONSTRAINT_TYPE from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE as a join INFORMATION_SCHEMA.TABLE_CONSTRAINTS as b on a.Constraint_name = b.Constraint_name where a.table_name = '{0}'", tableName); try { using (SqlDataReader sdr = ExecuteReader(new SqlCommand(sqlCommand), dbName)) { while (sdr.Read()) { ConstraintInfo aNewObj = new ConstraintInfo(); aNewObj.ReadFromData(sdr, tableName); retVal.Add(aNewObj); } } return(retVal); } catch (Exception e) { throw new ApplicationException(string.Format("{0}{1},原因是:{2}", Utility._Error_ReadConstraint_Failed, tableName, e.Message)); } }
public bool Equals(ConstraintInfo obj) { if (ReferenceEquals(null, obj)) { return(false); } if (ReferenceEquals(this, obj)) { return(true); } return(Equals(obj._TableName, _TableName) && Equals(obj._ColumnNameValue, _ColumnNameValue) && Equals(obj._ConstraintNameValue, _ConstraintNameValue) && Equals(obj._ConstraintTypeValue, _ConstraintTypeValue)); }