E' disponibile su CodePlex la versione finale dell'eBook Team Development with TFS Guide:
This guide shows you how to make the most of Team Foundation Server. It starts with the end in mind, but shows you how to incrementally adopt TFS for your organization. It's a collaborative effort between patterns & practices, Team System team members, and industry experts.
La guida può essere consultata online qui oppure scaricata in formato PDF a questo indirizzo.
Se si imposta la proprietà PrimaryKey di un DataTable su una o più colonne, viene automaticamente aggiunto uno UniqueConstraint su tali colonne. Supponiamo che dt e col1 siano, rispettivamente, un DataTable e un DataColumn che fa parte della collezione Columns di dt; eseguendo il seguente codice:
1 dt.PrimaryKey = new DataColumn[] { col1 };
2 UniqueConstraint unique = new UniqueConstraint(col1);
3 dt.Constraints.Add(unique);
Si ottiene una DataException alla riga 3, perché il constraint è già stato implicitamente aggiunto quando è stata impostata la chiave primaria della tabella (riga 1). Se, invece, si cambia l'ordine di esecuzione, spostando in fondo la prima istruzione:
1 UniqueConstraint unique = new UniqueConstraint(col1);
2 dt.Constraints.Add(unique);
3 dt.PrimaryKey = new DataColumn[] { col1 };
L'esecuzione avviene senza problemi.