Crear columnas de expresión (ADO.NET)
Se puede definir una expresión para una columna, a fin de que pueda contener un valor calculado a partir de los valores de otra columna de la misma fila o de los valores de columna de varias filas de la tabla. Para definir la expresión que se va a evaluar, utilice la propiedad Expression de la columna de destino y la propiedad ColumnName para hacer referencia a otras columnas en la expresión. El DataType para la columna de expresión debe ser adecuado para el valor que dicha expresión devuelve.
En la tabla siguiente se enumeran varios usos posibles de las columnas de expresión de una tabla.
Tipo de expresión |
Ejemplo |
---|---|
Comparación |
"Total >= 500" |
Cálculo |
"UnitPrice * Quantity" |
Agregación |
Sum(Precio) |
Se puede establecer la propiedad Expression en un objeto DataColumn existente, o se puede incluir la propiedad como el tercer argumento que se pasa al constructor DataColumn, como se muestra en el ejemplo siguiente.
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");
Las expresiones pueden hacer referencia a otras columnas de expresión; sin embargo, una referencia circular, en la que dos expresiones se hacen referencia una a otra, generará una excepción. Para obtener las reglas de escritura de expresiones, vea la propiedad Expression de la clase DataColumn.