CSharpFeeds - All your C# feeds in one place.

Sponsors

Wednesday, May 02, 2007

Code-Name Jasper

by bruce via Bruce Johnson's SOA(P) Box on 5/2/2007 5:56:56 PM

Named after a venerable Canadian national park (due to the overwhelming influence of Canadians on the Microsoft Data team, who are taking over the U.S. one developer at a time), Jasper is one of the incubation projects from the System.Data team introduced at MIX '07.

Built on top of the Entity Framework, Jasper provides a set of classes that can easily be used to perform CRUD operations on data. While this doesn't sound particularly exciting when phrased like that, the reality is that the classes are generated under the covers at run time.

So if I had a database that contained a Customers table, then Jasper allows me to create a DynamicContext object that has the connection string to the database. Then I can say "DynamicContext.Customers" and a Query object containing the customers in the database will be returned. Each customer object within this query has a set of properties that match to the columns in the table. The magic here is that database schema is being queried at runtime to determine which classes should be included in the application. And once retrieved, the query can easily be used to bind to elements on an ASP.NET Web page.

There are a number of interesting aspects as the talk gets closer to a real-world scenario. For example, it seems to be taking the Ruby approach of 'by convention' rather than 'by declaration'. If the Customers table had a property called address, you can create a class named Customers and add a GetAddress method. When the data classes are generated at runtime, a call to the GetAddress method will be used in the property getter for Address. This is how override certain functionality can be achieved.

All in all, there are some interesting possibilities that could arise from this. If you want to play with what is there right now, check out http://msdn2.microsoft.com/en-us/data/bb419139.aspx

email it!bookmark it!digg it!

Original Post: Code-Name Jasper

Subscribe

New Feed

Product Spotlight

Recently Updated Sources

Legal Note

The content of the postings is owned by the respective author. CSharpFeeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on CSharpFeeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.

Advertise with us