Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Introducing Microsoft’s Dynamically Typed Data Access Library

Introducing Microsoft’s Dynamically Typed Data Access Library

This item in japanese


Back in 2007 we told you about Jasper, Microsoft’s ORM-like data access library based on dynamic typing. Unfortunately the timing wasn’t right. With C#’s complete lack of dynamic typing, it didn’t really stand a chance. But now that Microsoft backs four dynamic languages, VB, C#, IronPython, and IronRuby, there is a renewed interest in it.

In conjunction with WebMatrix, Microsoft’s new tool chain for amateur web developers, Jasper has been reincarnated as Microsoft.Data. This new library, built on top of ADO.NET, doesn’t really change how simple applications are written. Rather it just reduces the syntactical noise.

Some of the key points are:

  • Connection strings are not required; all you need is the database name.
  • Inline SQL is recommended.
  • Mixing data-access inside the web page is recommended.
  • Results are dynamically typed. So instead of “(int)dataRow["Age"]” one can just write “customer.Age”.

It cannot be stressed enough that this library isn’t meant for enterprise applications. This is being offered specifically for amateur web developers who would otherwise use PHP. It would also appropriate for programmers who need throw-away code that requires data access.

Documentation is not currently available, but you can see how it works from the WebMartrix tutorial.

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Question about "Enterprise usage"...

    by Jason Vogel,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    First, a disclaimer: I haven't looked at the library.

    Why do you say, "It cannot be stressed enough that this library isn’t meant for enterprise applications."?

    Some people would argue that "customer.Age" is more object oriented and "correct" than a 3GL syntax of "(int)dataRow["Age"]". Allowing someone to focus on the readability and business case instead of worrying about datatypes is historically considered an improvement.

    Just asking the question to get more detail, not really arguing that it should be used in an Enterprise context.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p