Acceso a datos en el motor de reglas de negocios
El motor de reglas admite solo objetos .NET de forma nativa. Para controlar datos de una base de datos, puede utilizar directamente los objetos ADO.NET pero el motor proporciona algunas clases del asistente para simplificar el uso de datos de bases de datos de reglas. El motor de reglas amplía su compatibilidad mediante la exposición de tres tipos relacionados con la base de datos: TypedDataRow, TypedDataTable y DataConnection. En esta sección se describen estas clases del asistente, se proporcionan recomendaciones sobre cuándo utilizar cada tipo y se analizan algunas implicaciones de rendimiento a la hora de utilizarlas.
Las clases del asistente son las siguientes:
TypedDataRow. Construido mediante una referencia a una instancia de ADO.NET DataRow. TypedDataRow es una opción obvia para las reglas que solo tratan los datos de una o una pequeña cantidad de filas de una tabla determinada.
TypedDataTable. Literalmente una colección de objetos TypedDataRow . Cada fila de la tabla de base de datos se ajustará como typedDataRow y se asertará en la memoria de trabajo mediante el motor de reglas.
Una Clase TypedDataTable requiere una ADO.NET DataTable en memoria, que puede ser una sobrecarga de rendimiento si esta tabla de datos determinada contiene un gran número de filas. Si un pequeño número de filas de la tabla de base de datos es relevante y puede determinar estas filas antes de llamar a las reglas, use una DataTable; de lo contrario, use TypedDataRow. La suposición es que un gran número de filas de DataTable son relevantes para las reglas.
DataConnection. Representa una tabla de una base de datos a la que se ha obtenido acceso mediante una conexión de base de datos. La diferencia entre DataConnection y TypedDataTable es que, además del nombre del conjunto de datos y el nombre de la tabla, DataConnection requiere una conexión de base de datos utilizable y, opcionalmente, un contexto de transacción de base de datos.
Algunos o todos los predicados usados en las reglas con DataConnection se convertirán en parte de las restricciones de consulta en la conexión de base de datos. solo las filas que cumplen las restricciones de consulta se recuperarán de la base de datos y serán utilizadas por el motor. Este mecanismo proporciona un mejor rendimiento y consume menos memoria que mantener una DataTable muy grande en memoria.