L'ORM SnapObjects

L'ORM per .NET semplice, potente ed ultraveloce

L'ORM SnapObjects facilita enormemente lo sviluppo .NET!  E' incredibilmente semplice, eppure è pieno di funzionalità.  Ti offre il pieno controllo sullo SQL generato, e nella pratica ha le stesse prestazioni di ADO.NET.

SnapObjects ORM

Vantaggi

Simple, Minimal Coding

Codice sempice e minimale

Funzionalità avanzate semplice da codificare, ed accesso ai dati integrato nei modelli per ridurre al minimo i tempi di manutenzione.

Type-Safe Queries

Ricerche Type-Safe

Gli oggetti .NET vengono usati come criteri di ricerca in modo type-safe, e vengono fornite API di test per verificare lo SQL.

Flexible SQL Generation

Generazione flessibile dello SQL

La generazione dello SQL è controllata attraverso un insieme comprensivo di attributi del modello, o se si preferisce attraverso il codice SQL grezzo.

Loose Relationships

Relazioni leggere

Le relazioni sono definite durante la codifica (non pre-definite) e persistono solo per una particolare ricerca.

Transaction-Oriented

Orientato alla transazione

Le ricerche, gli aggiornamenti e le azioni possono essere tracciate, perciò la gestione delle transazioni sono applicate automaticamente.

Ultra-Fast Performance

Performance ultraveloci

C'è un certo vantaggio su ADO.NET, e le ricerche, gli aggiornamenti e le azioni vengono eseguite in blocco.

Frammenti di codice

Funzionalità

Modello


Il Modello mappa le colonne nelle tabelle del database e contiene il relativo SQL.  Lo SQL del Modello Model è generato sulla base di vari attributi, così da dare agli sviluppatori il controllo sullo SQL.  Perciò il Modello può rappresentare relazioni complesse, come Master-Detail-Detail attraverso la nidificazione del Modello.

SQLModelMapper


Lo SQLModelMapper è un componente transaction-oriented per la manipolazione di dati.  Mette a disposizioone oggetti e metodi per semplificare le operazioni CRUD del tuo database, ed applica una gestione automatica delle transazioni agli elementi tracciati.  Gli elementi tracciati possono essere eseguiti in blocco per accelerare le performance.

Ricerca

Esegue ricerche e carica l'insieme dei risultati in un oggetto temporaneo per ulteriore processamento, oppure restituisce l'insieme del risultato calcolato.

 Caricamento semplice

Esegue ricerche definite nel modello e carica l'insieme dei risultati in un oggetto autogenerato.

 Caricamento aggregato & scalare

Esegue la ricerca definita nel modello e restituisce l'insieme dei risutati con calcolo aggregato oppure scalare.

Tracciamento

Traccia i cambiamenti del modello, dello SQL e delle azioni a beneficio della gestione delle transazioni.

 Modello di tracciamento

Traccia e mette in cache le operazioni di Insert/Update/Delete del database nel modello (o nei modelli).

 Tracciamento del CUD SQL

Traccia le operazioni di Insert/Update/Delete nelle tabelle del database.

  Tracciamento delle azioni

Traccia situazioni più complesse che sono sono semplici operazioni CUD. Ad esempio, è possibile tracciare un particolare valore restituito dal database. Oppure ancora, tracciare se una operazione di tipo “Save” è stata cancellata.

 Tracciamento Master/Detail

Traccia e mette in cache lo stato dei dati nel modello (o nei modelli) che sono in una relazione di tipo Master-Detail.

Esecuzione

Inserisce tutte le operazioni del database che sono state tracciate nei modelli, nello SQL o nelle azioni nel database eseguendole in una volta sola e fa gestire la transazione al ModelMapper al posto tuo.

 SaveChanges

Salva tutte le modifiche al database eseguendo tutti gli elementi tracciati (cambiamenti del modello, dello SQL e delle azioni). Gli elementi tracciati possono essere eseguiti in blocco per aumentarle le performance.

 Validazione

Valida tutti i dati che sono stati tracciati nei modelli.

Asincronicità

Esegue operazioni CRUD in modalità asincrona.

 Ricerche Asincrone

Restituisce in maniera asincrona i dati e carica l'insieme dei risultati semplici o processati.

 Esecuzione asincrona

Salva in modo asincrono tutte le modifiche al database.

SQLExecutor


Lo SQLExecutor è un insieme di interfacce di manipolazione del database che incapsula i componenti core di ADO.NET.  Con SQLExecutor puoi eseguire direttamente dichiarazioni dinamiche SQL, funzioni oggetto di SQLBuilder, e fare ricerche del modello.

 Esecuzione

Esegue un comando e restituisce il numero delle righe interessate.

 Ricerca

Esegue una ricerca e mappa il risultato.

SQLBuilder


Lo SQLBuilder costruisce dichiarazioni SQL in una maniera programmatica e database-agnostica.  Inoltre costruisce la struttura sintattica e lavora con l'oggetto DataContext di SnapObjects per generare dichiarazioni SQL database-specifiche.

 Costruzione

Costruisce la struttura sintattica SQL.

 Validazione

Valida le stringhe SQL grezze generate per uno specifico database.