Пример #1
0
        /// <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));
            }
        }
Пример #2
0
 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));
 }