Example #1
0
        internal static void RegisterPrimaryKey(DataSet ds, StoreLakeTableKeyRegistration primaryKey)
        {
            var table = ds.Tables[primaryKey.TableName, primaryKey.TableSchema];

            if (table == null)
            {
                throw new InvalidOperationException($"Table registration '{primaryKey.TableSchema}.{primaryKey.TableName}' for primary key '{primaryKey.KeyName}' could not be found. ");
            }

            List <DataColumn> pkColumns = new List <DataColumn>();

            foreach (StoreLakeKeyColumnRegistration pkcol in primaryKey.Columns)
            {
                var column = table.Columns[pkcol.ColumnName];
                if (column == null)
                {
                    throw new StoreLakeSdkException("Column not found. Table [" + table.TableName + "] column [" + pkcol.ColumnName + "]");
                }
                column.ReadOnly = true;
                pkColumns.Add(column);
            }

            table.Constraints.Add(new UniqueConstraint(primaryKey.KeyName, pkColumns.ToArray(), true));
            //table.PrimaryKey = pkColumns.ToArray();
        }
Example #2
0
        internal static void RegisterUniqueKey(DataSet ds, StoreLakeTableKeyRegistration uqKey)
        {
            var table = ds.Tables[uqKey.TableName, uqKey.TableSchema];

            List <DataColumn> pkColumns = new List <DataColumn>();

            foreach (StoreLakeKeyColumnRegistration pkcol in uqKey.Columns)
            {
                var column = table.Columns[pkcol.ColumnName];
                if (column == null)
                {
                    throw new StoreLakeSdkException("Column not found. Table [" + table.TableName + "] column [" + pkcol.ColumnName + "]");
                }
                pkColumns.Add(column);
            }

            table.Constraints.Add(new UniqueConstraint(uqKey.KeyName, pkColumns.ToArray(), false));
        }