[VB.NET] Classe generica per operazioni su DB

venerdì 30 aprile 2010 - 22.09

luka82 Profilo | Junior Member

Stavo provando a creare una classe che mi consentisse di eseguire le classiche operazioni su DB(ricerca valore record, update, insert, con o senza WHERE, ordinamento e quant'altro), qualcuno di voi ha già affrontato il problema? come dovrei impostare la classe?

kataklisma Profilo | Senior Member

Ciao!

>Stavo provando a creare una classe che mi consentisse di eseguire
>le classiche operazioni su DB(ricerca valore record, update,
>insert, con o senza WHERE, ordinamento e quant'altro), qualcuno
>di voi ha già affrontato il problema? come dovrei impostare la
>classe?

Se lavori con SqlServer ti consiglio vivamente di dare uno sguardo a linq to sql.
La creazione di classi che gestiscono comandi sql puri ormai sà di vecchio :)

Leggi qualcosina sugli ORM, Linq, NHIbernate....

Puoi risparmiare seriamente tanto, ma tanto tempo ;)
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

luka82 Profilo | Junior Member

>Se lavori con SqlServer ti consiglio vivamente di dare uno sguardo
>a linq to sql.
>La creazione di classi che gestiscono comandi sql puri ormai
>sà di vecchio :)
>
>Leggi qualcosina sugli ORM, Linq, NHIbernate....
>
>Puoi risparmiare seriamente tanto, ma tanto tempo ;)

Il progetto attualmente si basa su Access ma in futuro prevederò anche SQL Server.
Posso usare LINQ con Access?
Usando LINQ posso creare una classe con le funzioni generiche per tutte le operazioni che devo fare sul DB(INSERT, UPDATE, SELECT, ...)?
Ciao

kataklisma Profilo | Senior Member

>Il progetto attualmente si basa su Access ma in futuro prevederò
>anche SQL Server.
>Posso usare LINQ con Access?
>Usando LINQ posso creare una classe con le funzioni generiche
>per tutte le operazioni che devo fare sul DB(INSERT, UPDATE,
>SELECT, ...)?

No, Linq To Sql puo essere utilizzato soltanto con Sql Server.

Considera il tempo che perderai e le limitazioni che access impone, ti converrebbe seriamente migrare a Sql Server, risparmi tempo, salute e guadagnerai in prestazioni e possibilità.

Potresti comunque utilizzare L'estensione dataset di Linq, Linq To Dataset, leggi qui e incomincia a smanettare un po ;) :

http://msdn.microsoft.com/en-us/library/bb386977.aspx
http://blogs.msdn.com/adonet/archive/2007/01/26/querying-datasets-introduction-to-linq-to-dataset.aspx

Per quanto riguarda quella che tu chiami "classe generica" (non mi sembra il modo esatto per chiamare n classi che svolgono questo tipo di operazioni, chiamiamolo pure data layer ) linq to sql incorpora tutte quelle operazioni SQL e non hai bisogno di scrivere statement SQL evitando tutti i problemi che puntalmente incorrono in progetti database oriented, vedi per esempio errori (virgole, nomi di campi errati etc...) che il compilatore non riesce a rilevare.

>Ciao
Ciao ;)
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

luka82 Profilo | Junior Member

Studierò LINQ , continuavo a lavorare con Access per avere due versioni del programma, una per clienti con una o due postazioni e l'altra versione SQL Server per clienti con più postazioni.
Ciao

kataklisma Profilo | Senior Member

>Studierò LINQ , continuavo a lavorare con Access per avere due
>versioni del programma, una per clienti con una o due postazioni
>e l'altra versione SQL Server per clienti con più postazioni.

E ne vale la pena avendo praticamente gli stessi cosi?

>Ciao
Ciao e buon lavoro!
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

luka82 Profilo | Junior Member

Era per non appesantire, con SQL Server, le macchine di un piccolo cliente che magari ha ancora pc obsoleti e poi volevo prevedere anche una versione che funzionasse su chiavetta usb.
Buon lavoro anche a te.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5