Query al DB meglio SqlDataSource o manualmente da CodeBehind

venerdì 11 luglio 2014 - 17.02
Tag Elenco Tags  C#  |  VB.NET  |  .NET 2.0  |  .NET 3.0  |  .NET 3.5  |  .NET 4.0  |  Visual Studio 2010  |  Visual Studio 2008  |  Visual Studio 2005  |  Visual Studio 2003  |  Visual Studio 2002  |  Visual Studio Express

vankraster Profilo | Newbie

Salve,
Cercando di migliorare la mia abilità/conoscenza di programmazione in ASP.NET ho scoperto che le query di Insert/Update/Select le posso fare anche tramite il controllo SqlDataSource fornito da Microsoft, la mia domanda è : Meglio usare il controllo di Microsoft , meglio fare l'interrogazione da CodeBehind oppure è ininfluente ?

Grazie.

0v3rCl0ck Profilo | Guru

Io ti suggerisco alla grande di fare tutto l'accesso ai dati attraverso un tuo strato di classi, quindi non solo ti suggerisco di creare i comandi a codice, ma sopratutto di spostare tutta quella logica di accesso in classi dedicate solo all'accesso ai dati, e poi quelle classi le utilizzi dal codice delle viste asp.net

class UserStorage
void Update(User user)
List<User> GetUsers()
User GetUserByUserId(int userId)

class MyIncredibleView
ctor(UserStorage userStorage)
SaveUser_
_userStorage.Update(user)

è un esempio in pseudo-code, prova a creare appunto uan classe UserStorage dove all'interno fai l'accesso al db con ADO.NET, poi dalla tua vista istanzi quella classe storage e la utilizzi con i metodi "pronti". In questo modo separi le responsabilità, Single Responsibility Principle:

http://en.wikipedia.org/wiki/Single_responsibility_principle
http://it.wikipedia.org/wiki/Principio_di_singola_responsabilit%C3%A0


Michael Denny | Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic
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