Real World DataMarket: Interview with LINQPad

As part of the Real World DataMarket series, we talked to Joseph Albahari, developer of LINQPad, about his product’s support for DataMarket, a part of Windows Azure Marketplace. Here’s what he had to say:

MSDN: How did you come to develop LINQPad?

Albahari: When Microsoft first announced LINQ, I came to realize that it was one of the best technologies that Microsoft had produced. LINQ is a significantly more productive querying language than traditional SQL. It’s simpler, tidier, higher-level, type-safe, and its queries are composable. Not having to worry about lower-level details when I write my queries is a big win. I was so impressed with LINQ that I built a tool—LINQPad—to take advantage of it. LINQPad brings the same interactive experience to LINQ that SQL Server Management Studio brings to SQL: you simply point LINQPad to a database, write a query, and hit Run. After writing LINQPad, I realized that I’d in fact written something broader than a LINQ tool—I had written a code scratchpad that executed not only LINQ queries, but any C# or Microsoft Visual Basic code snippet! LINQPad complements the Microsoft Visual Studio development system nicely: you write, test, and tune queries and code snippets interactively in LINQPad, and then paste working code right into a Visual Studio project.

MSDN: What’s been the reaction of the developer community?

Albahari: Developers have responded enthusiastically. Over the past three years, LINQPad has been downloaded around 250,000 times and has probably tens of thousands of active users.

MSDN: Tell me what brought you to support cloud-based data in LINQPad?

Albahari: Data used to exist mostly in databases on the same network. But now data has found a new home: in the cloud. LINQPad has supported Microsoft SQL Azure for some time, but there was a demand for OData [Open Data Protocol]-based services. OData is a protocol for querying and updating data across the Internet. The great thing about LINQ is that the same querying language works with a multitude of providers. So, if you know LINQ, you can write OData queries—the provider takes the same LINQ query and translates it into an OData URI [Uniform Resource Identifier] instead of SQL.

MSDN: Why did you decide to support Windows Azure Marketplace DataMarket in particular?

Albahari: Having a centralized portal for OData services makes a lot of sense. In particular, it offers the potential for unified billing for premium data sources. I anticipate a growing user base, so I want to offer these people an interactive querying tool.

MSDN: What’s the basis of DataMarket support in LINQPad?

Albahari: One of the keys to supporting DataMarket in LINQPad is OData. I’d already built OData support into LINQPad by leveraging OData support within the Microsoft .NET Framework. This made it easy to write a DataMarket driver that gives developers LINQPad support for DataMarket “out of the box.” To use that support, developers choose DataMarket as a data source for LINQPad. The LINQPad software also gives them the option to sign up for DataMarket, to subscribe to datasets, and to browse for their account keys to the Microsoft service. Developers can then compose LINQ queries and execute them against DataMarket, with the results appearing immediately in LINQPad. It’s that easy.

Read the full story at:
www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000008920

To read more about DataMarket, visit:
https://datamarket.azure.com