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(); }
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)); }