L'oggetto DataTable dispone della proprietà Constraints, con cui si possono specificare i vincoli di unicità (UniqueConstraint) e di chiave esterna (ForeingKeyConstraint) per la tabella. Ma nel caso in cui si voglia definire un vincolo unique, è possibile evitare la creazione di un oggetto di tipo UniqueConstraint semplicemente impostando a true la proprietà Unique della DataColumn relativa: così facendo, lo UniqueConstraint su quella colonna viene aggiunto automaticamente. In altre parole, i seguenti stralci di codice sono equivalenti:
DataTable dt = new DataTable();
DataColumn id = new DataColumn("Id", typeof(int));
dt.Columns.Add(id);
UniqueConstraint unique = new UniqueConstraint(id);
dt.Constraints.Add(unique);
e
DataTable dt = new DataTable();
DataColumn id = new DataColumn("Id", typeof(int));
id.Unique = true;
dt.Columns.Add(id);
In entrambi i casi, non è possibile aggiungere alla tabella due DataRow con lo stesso valore della colonna Id.
Technorati Tags:
Programming,
CS,
ADO .NET