Ron Conery, who recently joined Microsoft has somehow found time to release a new version of SubSonic, 2.1 in beta.
I have been using SubSonic since the 2.0 release and find it is a really nice OR/M tool for .NET applications. It offers some of the things I find particularly attractive in Ruby on Rails, things like Migrations.
The SubSonic 2.1 beta 1 offers so much more:
A New Query Tool
We have a new Query tool that lives happily alongside our existing one. Our goal with it was to make it as ?Fluent? and ?SQL-y? as possible. I wrote a post on how it works here, and updated that post here. Please refer to that until can crack out the docs which, yes now that this is my job, I will be spending a good amount of time on.
Northwind.CustomerCollection customersByCategory = new Select()
.From()
.InnerJoin()
.InnerJoin(Northwind.OrderDetail.OrderIDColumn, Northwind.Order.OrderIDColumn)
.InnerJoin(Northwind.Product.ProductIDColumn, Northwind.OrderDetail.ProductIDColumn)
.Where(?CategoryID?).IsEqualTo(5)
.ExecuteAsCollection();
SubStage
Eric and his secret little project are ready to see the light of day. I?m not sure how to categorize this thing, other than to say it?s a SubSonic Geek?s Best Friend. It?s part IDE, part Help Resource, Part Config tool, part Validator. Eric?s working up a screencast on it now (link to follow) and here are the highlights:
* Load your Web(or App).config and it will load your Database up, with settings
* Work with a GUI when setting your provider bits. Not sure what to use with that naming problem? SubStage will help.
* Validate your DB according our conventions, and see when you have problems right up front. Eric?s built in a complete validation system so if you don?t have a Primary Key on a table, you know it up front.
* View your object?s by Table or Class view. All of your naming and provider settings will be viewable when using our Class View – this way you?ll know your API before it?s generated.
* Generate your DAL using SubStage. Once you have everything set just so, generate the files then drag them from the SubStage Explorer window right into your project
* Work with your data. Eric build a frickin web server into SubStage, and wraps an AutoScaffold around your database so you can, literally, work with your data using our scaffold right there.
* Help? lots of Help. Access our API reference and Forums online, right through SubStage – we?re trying to make this easy for you? can you tell?
These features are great additions to what is already a great set of tools. I plan to post about a project I am working on using the ASP.NET MVC Framework with SubSonic handling my models. This project should be a great jump-off point for readers wanting to get into the Microsoft ASP.NET MVC Framework and not sure what to do about the back end.
Hi,
Is it possible to explain the major difference between Active Record and SubSonic.
I know SubSonic is for .Net Platform, but what’s the other difference.
I would like to see how the IronRuby code looks inside SubSonic.
Can you point out a link or show a simple example with SubSonic + IronRuby.
I think, thats what will make ruby world attracted to SubSonic.
Thanks
Hi,
Is it possible to explain the major difference between Active Record and SubSonic.
I know SubSonic is for .Net Platform, but what’s the other difference.
I would like to see how the IronRuby code looks inside SubSonic.
Can you point out a link or show a simple example with SubSonic + IronRuby.
I think, thats what will make ruby world attracted to SubSonic.
Thanks
@SoftMind I don’t believe any examples like this exist. IronRuby is not complete and won’t be until the second half of the year. I think plenty of examples will be done all over Microsoft and the Internet with those working on IR now.
The best I can say is stay tuned.
@SoftMind I don’t believe any examples like this exist. IronRuby is not complete and won’t be until the second half of the year. I think plenty of examples will be done all over Microsoft and the Internet with those working on IR now.
The best I can say is stay tuned.
Castle’s ActiveRecord
ActiveRecord is the DAL which is supplied with the Castle project.
Summary
The Castle ActiveRecord project is an implementation of the ActiveRecord pattern for .NET. The ActiveRecord pattern consists on instance properties representing a record in the database, instance methods acting on that specific record and static methods acting on all records.
Castle ActiveRecord is built on top of NHibernate, but its attribute-based mapping free the developer of writing XML for database-to-object mapping, which is needed when using NHibernate directly.
SubSonic
The first public DAL which employed Build Providers that I know off 🙂
Summary
A Data Access Layer (DAL) builder that requires no code on your part, it builds itself at compile-time with a full object layer and strongly-typed Collections
A complete utility toolset, complete with Rails-like scaffolding, migrations (DB Versioning), and code generators
A dynamic query tool, that lets you use SQL Server and the Enterprise Library without having to know SQL
An OR Mapper that extends to views and stored procedures so you’re not locked into the OR/M thing
Castle’s ActiveRecord
ActiveRecord is the DAL which is supplied with the Castle project.
Summary
The Castle ActiveRecord project is an implementation of the ActiveRecord pattern for .NET. The ActiveRecord pattern consists on instance properties representing a record in the database, instance methods acting on that specific record and static methods acting on all records.
Castle ActiveRecord is built on top of NHibernate, but its attribute-based mapping free the developer of writing XML for database-to-object mapping, which is needed when using NHibernate directly.
SubSonic
The first public DAL which employed Build Providers that I know off 🙂
Summary
A Data Access Layer (DAL) builder that requires no code on your part, it builds itself at compile-time with a full object layer and strongly-typed Collections
A complete utility toolset, complete with Rails-like scaffolding, migrations (DB Versioning), and code generators
A dynamic query tool, that lets you use SQL Server and the Enterprise Library without having to know SQL
An OR Mapper that extends to views and stored procedures so you’re not locked into the OR/M thing