Creazione di colonne di espressioni (ADO.NET)
È possibile definire un'espressione per una colonna per consentire che questa contenga un valore calcolato sulla base di altri valori di colonna nella stessa riga o sulla base di valori di colonna di più righe della tabella. Per definire l'espressione da valutare, utilizzare la proprietà Expression della colonna di destinazione e la proprietà ColumnName per fare riferimento ad altre colonne nell'espressione. La proprietà DataType specificata per la colonna di espressioni deve essere adeguata per il valore restituito dall'espressione.
Nella tabella seguente vengono indicati diversi utilizzi possibili delle colonne di espressioni in una tabella.
Tipo di espressione |
Esempio |
---|---|
Confronto |
"Total >= 500" |
Calcolo |
"UnitPrice * Quantity" |
Aggregazione |
Sum(Price) |
È possibile impostare la proprietà Expression per un oggetto DataColumn esistente oppure includere la proprietà come terzo argomento passato al costruttore DataColumn, come illustrato nell'esempio seguente.
workTable.Columns.Add("Total",Type.GetType("System.Double"))
workTable.Columns.Add("SalesTax", Type.GetType("System.Double"), _
"Total * 0.086")
workTable.Columns.Add("Total", typeof(Double));
workTable.Columns.Add("SalesTax", typeof(Double), "Total * 0.086");
Le espressioni possono fare riferimento ad altre colonne di espressioni. Viene tuttavia generata un'eccezione se è presente un riferimento circolare, ovvero quando due espressioni fanno riferimento l'una all'altra. Per le regole sulla scrittura di espressioni, vedere la proprietà Expression della classe DataColumn.