CRUD
Alejandro Cernuda
TweetCreate, read, update y delete (CRUD) Sono le operazioni di base che vengono eseguite su un set di dati. Sono anche i più comuni. Tutti i metodi della libreria esistono nelle loro versioni sincrona e asincrona. Quando possibile, si consiglia di utilizzare quest'ultimo.
Semplici esempi di lettura e scrittura
publicasync TaskTestInsertAsyn(User user)
{
DataGather dg = DataGather.GetInstance(ConnectionString);
await dg.InsertAsync(user);
}
Come si può vedere, se nel database è presente una tabella denominata User e contiene gli stessi campi dell'oggetto User e anche una chiave primaria, non è necessario specificare nient'altro.
public User: IAR
{
...
}
E molto meglio se la classe User eredita da IAR, una classe astratta creata nella libreria per fornire alcuni dei campi più comuni nella tabella e che forniscono comfort durante il lavoro.
///
/// When inheriting from it, any class in the database will have fields normally used in a sql Table; as well as its initialization.
///
publicabstractclassIAR
{
publicint Id { get; set; }
///
/// This property will be initialized as true.
///
publicbool Active { get; set; }
///
/// This property will be initialized with the current date
///
public DateTime RowUpdateDate { get; set; }
publicIAR()
{
Active = true;
RowUpdateDate = DateTime.Now;
}
}
Esempio di lettura
publicasync Task<User> GetAsync()
{
return (await dg.GetAsync<User>()).ToList();
}
Possiamo anche eliminare i record in modo semplice, purché la tabella abbia una chiave primaria.
await dg.DeleteAsync(user)
await dg.UpdateAsync(user);
Esempio di utilizzo per ottenere dati da più tabelle
Nella vita reale è difficile strutturare i dati in modo che ci sia sempre una tabella o una vista per la classe di cui abbiamo bisogno nel codice. SQLClientCoreTool può funzionare con questa incongruenza. Nell'esempio seguente è necessario importare tutti i dati dalla tabella PostGroup e anche la lingua dalla tabella Langs. Si noti che invece di una query en string potremmo passare il nome di una stored procedure e avere il codice SQl sul server stesso.
}