
Overview
This is another interesting article about the new trends of the software industry. I would like to share the information I gathered while researching on this new toolset with the user group members and the readers of this blog. I thought of writing about SubSonic because it's another way of accessing/ Querying the database (Actually, SubSonic is a third party toolset to auto generate the Data Access Layer (DAL) of our application and maintain it when the database changes). This is just another handy tool for us as LINQ. Therefore I'll write about SubSonic in parallel to the LINQ articles. We can compare LINQ and SubSonic later on. Since this is the first article about SubSonic in this forum I'll start with an introduction.
What is SubSonic?
-
SubSonic, initially named as ActionPack is developed as an open source project by
Rob Conery before he joined Microsoft, but who is currently working for Microsoft in the ASP.Net team under
Scott Guthrie. The other team members of this project are
Eric Kemp, Scott Watermasysk,
Jon Galloway,
Phil Haack, and
Gavin Joyce. This project has got attention from Microsoft even though it is still an open source project.
SubSonic will be developed on top of ASP.Net and the new MVC framework that Microsoft has given more attention of. (This information is true at the time of writing this article and as per the
SubSonic Project &
Rob Conery's comments)
-
We can download the latest source code
here
-
SubSonic is a toolset that helps a website build itself. It brings some of the fun and elegance of Ruby on Rails to ASP.NET
-
-
Helps us quickly build data driven websites without writing data manipulation code
-
Has a DAL generator that enables us to rapidly create strongly typed collections and CRUD (Create, Read, Update and Delete) enabled objects, which represent the selected database tables
-
-
Could also automatically generate the UI for the data manipulation tasks (scaffolding support). This is very handy when creating the admin panel of a data driven web applications. We don't need to worry about creating it from scratch
-
Has a dynamic query tool that let us use SQL Server, MySQL and Enterprise Library (Application Blocks) without having to know the underlying SQL syntax (Lets go into technical details in the next articles to follow)
-
We just need to give the reference to the SubSonic DLL and set SubSonic settings in the Web.config file to make use of the power of SubSonic (Lets go into technical details in the next articles to follow)
-
Saves lot of development time and that is the main objective of creating
SubSonic. Will our bosses give more work for the time we save using SubSonic?

Summery
SubSonic is an open source tool set to auto generate data manipulation code and interfaces. This works on top of ASP.Net and the MVC framework. This gives an extension and a cool new addition to the strength of .Net compliance languages and most importantly this SAVES lot of development time.
Rule Of Thumb
I'm pretty sure SubSonic will not replace classic SQL, T/SQL or PL/SQL but it will extend the data manipulation capability of the programmer. IT saves lot of time. It's a pretty cool tool to be in our tool box. We as the programmers must decide when to use it and when not to.
References
SubSonic Project
SubSonic at CodePlex
Reb Conery's weblog
ScribeSonic
Jonny Coder