Condividi tramite


Accesso ai dati nel Motore regole di business

Il Motore regole di business supporta a livello nativo solo gli oggetti .NET. Per gestire i dati di un database, è possibile utilizzare direttamente gli oggetti ADO.NET, ma il motore mette a disposizione alcune classi di supporto per semplificare l'utilizzo dei dati del database da parte delle regole. Il motore delle regole estende il supporto esponendo tre tipi correlati al database: TypedDataRow, TypedDataTable e DataConnection. In questa sezione vengono descritte queste classi helper, vengono forniti suggerimenti sull'utilizzo di ogni tipo e vengono illustrate alcune implicazioni riguardanti le prestazioni per l'utilizzo di tali classi.

Di seguito sono descritte le classi di supporto:

  • TypedDataRow. Costruito usando un riferimento a un'istanza di DataRow ADO.NET. TypedDataRow è una scelta ovvia per le regole che gestiscono solo i dati da una o un numero ridotto di righe da una determinata tabella.

  • TypedDataTable. Letteralmente una raccolta di oggetti TypedDataRow . Ogni riga nella tabella di database verrà sottoposta a wrapping come typedDataRow e asserzionata nella memoria di lavoro dal motore delle regole.

    Un oggetto TypedDataTable richiede un ADO.NET DataTable in memoria, che può essere un sovraccarico delle prestazioni se questa particolare tabella dati contiene un numero molto elevato di righe. Se una piccola quantità di righe nella tabella di database è rilevante e è possibile determinare queste righe prima di chiamare le regole, usare una tabella dati, in caso contrario, usare TypedDataRow. Il presupposto è che un numero elevato di righe nella tabella dati è rilevante per le regole.

  • DataConnection. Rappresenta una tabella di un database a cui si accede tramite una connessione di database. La differenza tra DataConnection e TypedDataTable è che oltre al nome del set di dati e al nome della tabella, DataConnection richiede una connessione di database utilizzabile e facoltativamente un contesto di transazione di database.

    Alcuni predicati usati nelle regole con DataConnection diventeranno parte dei vincoli di query rispetto alla connessione al database. Solo le righe che soddisfano i vincoli delle query verranno recuperati dal database e utilizzati dal motore. Questo meccanismo offre prestazioni migliori e utilizza meno memoria rispetto alla memorizzazione di una dataTable molto grande in memoria.

Contenuto della sezione