SubSonic 2.0: Beta 1 is Released
SubSonic 2.0 Beta 1 is ready for download, and honestly Rob think this is just about RC level. We’ve pounded this thing, and pounded again. And then pounded some more. Simpler. Faster. Simpler. Faster – that’s our mantra now :). Really, SubSonic is just about making things simple and fast for you.
Enough of that – here’s the link:
Download SubSonic 2.0 Beta 1
Still Here? Great!
With version 2.0 they’ve addressed some major requests from our community, and tried to add in functionality to make your day that much easier. Here’s what’s new:
- Multiple Database support! Now you can generate a full DAL for as many databases as you like.
- Enterprise Library 3.0 Support. Just added this in and it works nicely.
- All-new command-line tool. You can now use our command-line tool (called SubCommander) to do all kinds of fun things, like generate your code and version your database. You can even hook into it using Visual Studio’s External Tools – this will allow you to generate your project’s code with the click of a button, and it will use your project settings (look for a blog post on Rob’s blog).
- Improved querying. You can now use our Query tool to run OR’s, IN’s, and aggregates. You can even type what you want to see:
IDataReader rdr = new SubSonic.Query(“Products”).WHERE(“CategoryID = 5”).ExecuteReader();
We’ve also renamed many of our methods (well, we’ve added aliases) to make the query more readable. You can now use WHERE, AND, OR, IN, BETWEEN_AND, etc. to make your calls that much more readable.
- New Controls. You can now use our Smart Dropdown, which loads itself:
<subsonic:DropDown id=mySmarty runat=server tablename=”categories” />
You can also use our new ManyToMany Checkbox list helper to both list and save information for many to many relationships:
<subsonic: ManyManyList id=myList runat=server MapTableName=”Product_Category_Map” PrimaryTableName=”Products” PrimaryKeyValue=”1″ ForeignTableName=”Categories” />
- A new AutoScaffold page that you can drop right into your project to admin all your tables. This thing reads your tables and creates scaffolds for you automagically (thanks Eric!).
- A completely reworked code-generation system that uses an ASP-style templating system. You can now code up your templates like you would an ASP page (also just like CodeSmith). Test them in your web site to make sure they work, then replace (or add to) the bits that get generated at runtime. You can override our templates by specifying a template directory in the web.config:
<SubSonicService defaultProvider=”Northwind” fixPluralClassNames=”false” templateDirectory=”D:\PathToMyTemplates”>
- Regular Expression Naming Engine. If you don’t like what our convention is, then you can use your own with some simple regex. Pass a simple string, or a dictionary replacement and all of your tables/views will be renamed as you specify.
- Query Inspection. Want to know what’s happening to your query, and how long it’s taking? You can simply use the new Inspect() method which outputs the results and statistics to HTML for you to review.
- Improved Trace/Debug. We’ve added tracing to (almost) every facet of SubSonic, so if you turn tracing on you can see what SubSonic‘s trying to do. We’re always adding to this and if you see something we’ve missed, let us know :).
- Improved Scaffolding. Your foreign key values are now pulled into the GridView and displayed instead of their keys. Eric figured this one out – go dude!
- And of course, many, many bug fixes.