/// <summary> /// Does the table have an identity column /// </summary> /// <param name="connectionString">connection string</param> /// <param name="ti">TableInfo</param> /// <returns>True if so</returns> public static bool HasIdentity(string connectionString, Models.TableInfo ti) { if (ti != null) { string SQL = "SELECT OBJECT_NAME(OBJECT_ID) AS TABLENAME, NAME AS COLUMNNAME, SEED_VALUE, INCREMENT_VALUE, LAST_VALUE, IS_NOT_FOR_REPLICATION FROM SYS.IDENTITY_COLUMNS WHERE OBJECT_NAME(OBJECT_ID) = '{0}' AND OBJECT_SCHEMA_NAME(object_id) = '{1}'"; SQL = string.Format(SQL, ti.TableName, ti.Schema); var dt = SqlHelper.ExecuteSqlWithParametersToDataTable(connectionString, SQL, null); return(SqlHelper.HasRows(dt)); } else { return(false); } }
/// <summary> /// Parses and normalizes table name /// </summary> /// <param name="options">(options)</param> /// <returns>Table and Schema</returns> public static Models.TableInfo ParseTableName(Models.Options options) { var ti = new Models.TableInfo(); if (options != null) { var s = options.Table.Replace("[", "").Replace("]", ""); int i = s.IndexOf('.'); if (i < 0) { ti.TableName = s; } else { ti.Schema = s.Substring(0, i); ti.TableName = s.Substring(i + 1); } } return(ti); }