Analysera dina OData-tjänster
LinqPad
När man skapar referenser till OData-tjänster så kan man utforska dem genom att till exempel skapa en proxyklass för dem och sedan se vad man får ut av det, eller kanske surfa direkt till tjänsten för att utforska datan.
Ett annat sätt att se vad som finns tillgängligt är genom att använda LinqPad. Med det så kan du ange en URL till en OData-tjänst och sedan skriva frågor direkt mot den.
För att enkelt kunna testa mot olika tjänster så finns det en lista på sådana här:
http://www.odata.org/producers
Som exempel så kommer jag att använda den OData-tjänst som tillhandahålls av Nerddinner.
Börja med att klicka på Add connection i listan till vänster i programmet och sedan WCF Data Services.
Ange sedan URL:en till tjänsten du vill utforska.
Det som händer nu är att LinqPad kollar upp hur tjänster är strukturerad, och ger oss möjligheten att hämta data från de olika tabellerna med både vanliga Linq-frågor, och även Lambda Expressions.
Det här gör det väldigt enkelt att hämta data för att snabbt se vad vi kan få ut. Vi kan även använda LinqPad direkt mot en databas om vi så önskar.
Open Data Protocol Visualizer
Om vi inte är intresserade av att se datan utanför Visual Studio utan bara är intresserade av att se strukturen så kan vi använda Open Data Protocol Visualizer.
Börja med att hämta och installera det:
http://visualstudiogallery.msdn.microsoft.com/en-us/f4ac856a-796e-4d78-9a3d-0120d8137722
När vi går in i Visual Studio 2010 och lägger till en referens till en OData-tjänst så skapas en proxyklass i bakgrunden. Med hjälp av Open Data Protocol Visualizer så kan vi nu se strukturen i ett diagram direkt i Visual Studio 2010. För att få fram diagrammet så högerklicka på referensen till tjänsten och välj View in diagram.
Vi får nu upp lite olika alternativ, och för att få fram all information från tjänsten så välj “namespaces – add all”.
Det vi får upp när ett diagram över de olika entiteterna. I exemplet jag använder så finns bara två stycken, men använder man till exempel Northwind så kan det bli ett komplext diagram, men som samtidigt erbjuder en bra överblick över alla kopplingar.