Class PrimaryKey
- Namespace
- YndigoBlue.Velocity.Constraints
- Assembly
- YndigoBlue.Velocity.dll
Represents a primary key constraint that uniquely identifies each row in a table.
public class PrimaryKey : Constraint, IEquatable<Constraint>, IComparable<Constraint>
- Inheritance
-
PrimaryKey
- Implements
Remarks
A primary key constraint enforces uniqueness and non-null values for one or more columns. Each table can have only one primary key, which can be either single-column or composite (multiple columns).
Examples
using (var manager = new Manager(connection))
{
var schema = manager.LoadSchema("myschema");
// Single-column primary key
Table usersTable = schema.CreateTable("users");
usersTable.CreateColumn("id", DataType.Integer, autoGenerate: true);
usersTable.CreateColumn("username", DataType.VarChar, size: 50);
PrimaryKey pk = usersTable.CreatePrimaryKey("pk_users", "id");
manager.CreateTable(usersTable);
manager.CreateConstraint(pk);
// Composite primary key across multiple columns
Table orderItemsTable = schema.CreateTable("order_items");
orderItemsTable.CreateColumn("order_id", DataType.Integer);
orderItemsTable.CreateColumn("product_id", DataType.Integer);
orderItemsTable.CreateColumn("quantity", DataType.Integer);
PrimaryKey compositePk = orderItemsTable.CreatePrimaryKey("pk_order_items", [ "order_id", "product_id" ]);
manager.CreateTable(orderItemsTable);
manager.CreateConstraint(compositePk);
}
Properties
- Columns
Gets or sets the collection of column names that make up the primary key.
- ConstraintType
Gets the constraint type as PrimaryKey.
- IsComposite
Gets whether this is a composite primary key (spanning multiple columns).
Methods
- IsEqual(Constraint)
Determines whether this constraint is equal to another constraint based on their properties.