Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Richiamare una stored procedure in LINQ-to-SQL

L’oggetto DataContext, che caratterizza LINQ-to-SQL, permette di richiamare da codice, in maniera molto semplice, le stored procedures contenute nel database come se fossero dei classici metodi. Questo è possibile grazie all’architettura object-oriented del modello di programmazione.

 

Supponiamo di aver creato un’applicazione (Console, per questo breve scenario) alla quale sia collegato il nostro caro amico Northwind. Dopo aver creato la classe LINQ-to-SQL come ormai sappiamo fare, aggiungiamo le due tabelle Employees e Orders, tra le quali viene stabilita una relazione.

 

Affinché le stored procedures siano utilizzabili da codice, è necessario trascinarle sulla superficie del designer della nostra classe LINQ-to-SQL, rilasciandole nell’area apposita posta sulla destra. Quindi, ipotizziamo di voler utilizzare la procedura chiamata Employee_Sales_By_Country. Dalla struttura ad albero che rappresenta il database, quindi, trasciniamo la predetta procedura sulla destra del designer, come in figura:

 

 

 

Passando al codice, l’istanza del DataContext permette di accedere alla procedura, trattandola come un normale metodo. Il codice seguente, ad esempio, estrae le vendite nell’intervallo di tempo specificato:

 

Dim dc As New NorthwindDataContext

 

Dim beginDate As New DateTime(1996, 7, 23)

Dim endDate As New DateTime(1996, 9, 2)

 

Dim employeesBySales = dc.Employee_Sales_by_Country(beginDate, endDate)

 

 

Il risultato ottenuto può poi essere iterato:

 

For Each employee In employeesBySales

    Console.WriteLine("{0} {1}, {2}", employee.FirstName, employee.LastName, employee.Country)

Next

 

Sebbene questo tipo di attività non utilizzi la sintassi caratterizzante LINQ, è comunque LINQ-to-SQL a fornire l’infrastruttura necessaria.

 

Alessandro

Print | posted on mercoledì 16 aprile 2008 01:24 | Filed Under [ Visual Basic LINQ ]

Powered by:
Powered By Subtext Powered By ASP.NET