Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, 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

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

ADO.NET Data Services: alcuni work-around per gli extension methods

Giorni fa, parlammo di alcuni problemi nell’utilizzo dei metodi extension nella parte client dello sviluppo con gli ADO.NET Data Services, in particolare dicemmo che alcuni metodi non sono supportati in questa versione di Astoria (più che altro perchè alcuni non sono supportati, alla base, da ADO.NET Entity Framework).

 

Per esempio, dato il seguente contesto:

 

        Dim NorthwindContext As New NORTHWNDEntities(New Uri("Http://localhost:1273/Northwind.svc"))

 

Supponiamo di voler ottenere l’istanza del cliente il cui identificativo è ALFKI. Il codice giusto sarebbe il seguente:

 

        Dim AlfkiInstance = NorthwindContext.Customers.Single(Function(cust) cust.CustomerID = "ALFKI")

 

Oppure potremmo utilizzare la seguente:

 

        Dim AlfkiInstance = NorthwindContext.Customers.First(Function(cust) cust.CustomerID = "ALFKI")

 

Le precedenti righe di codice sono compilate correttamente, ma generano a run-time una NotSupportedException. Un work-around può essere quello di utilizzare il metodo extension Where per ottenere una IQueryable (in questo caso di Customers) eseguendo il confronto in base all’ID e recuperare il primo elemento della sequenza.

 

Il che, tradotto in codice, significa scrivere il seguente:

 

        Dim AlfkiInstance = NorthwindContext.Customers.Where(Function(cust) cust.CustomerID = "ALFKI").First

 

Non è il top scrivere codice di questo tipo, ma per ora è l’alternativa che ho trovato adatta ai miei test. Se ne avete di migliori, please share :D

 

Alessandro

Print | posted on giovedì 29 gennaio 2009 01:11 | Filed Under [ Visual Basic WCF Data Services/WCF RIA Services/OData ]

Powered by:
Powered By Subtext Powered By ASP.NET