public function __construct(array $Columns)
{
if (count($Columns) === 0) {
throw new \Storm\Core\Relational\RelationalException('A primary key must contain atleast one column');
}
$this->Columns = array_values($Columns);
foreach ($this->Columns as $Column) {
if (!$Column->HasTrait(NotNullable::GetType())) {
$Column->AddTrait(new NotNullable());
}
}
$this->ColumnNames = array_map(function ($Column) {
return $Column->GetName();
}, $this->Columns);
}