The Books have Arrived
September 19th, 2007
When I got home today I found a box full of books waiting for me. More books should be on shelves in bookstores everywhere starting Monday. I managed to put a lot of great content into the book that I could not find in other books, like a custom databound control and a photo album provider that integrates directly with the SiteMap Provider.
You can read more about it on the book website and see the table of contents for a full list of the covered topics. I plan to give away a few copies at the next local .NET User Group meeting.

September 20th, 2007 at 8:29 am
W00t! Congratulations man! I preordered my copy like... a year ago. Should be here any day then I guess.
September 20th, 2007 at 8:30 am
Dude, you published a book? That's awesome - congrats!
September 20th, 2007 at 7:22 pm
Nice work! Stealth publishing, like a ninja!
September 27th, 2007 at 6:45 pm
hurray!!!
February 21st, 2008 at 10:17 am
Hi Brennan,
Your book has only recently started showing up on the shelves of my local bookstores, or I would have gotten it sooner. I purchased your book and have been going through it for the last few days. There are lots of great ideas in here that I hope to put into practice at some point.
Right off the bat, I enjoyed the discussion of the development environment. In particular setting up Virtual PC's as a development environment. Out of curiosity, what machine resources do you typically devote to this (virtual disk sizes, ram) for development? I tried setting up Virtual PC using Windows Server 2003 in a virutal machine with Visual Studio, Sql Server, and Team System Server Workstation, but it is very slow - I suspect I need to use a larger virtual disk.
I'm still set in the ASP.NET 1.1 way of doing things (i.e. Databind() calls instead of DataObjects and DataSource controls). I'm finding the 2.0 approach interesting, but I'm not yet convinced this is an improvement. Nevertheless, I will start some experiments using it.
I'm also trying to wrap my head around the Provider approach. I haven't seen much written about this either, other than the security related providers, so thanks for the coverage. I had no idea that there was so much more to this.
One thing that I agonize about with every project I work on is whether to use datasets or domain objects. Other than blogs, I don't see much practical coverage of this in books, so this was a strong incentive to purchase your book. I really liked the idea of the Domain object using Reflection to tie its properties to the applicable database fields. I look forward to trying that technique in my future projects, as soon as I learn a bit more about Reflection. This and the data access snippets you provided seems a lot more approachable (with a lot less bloat) than the NetTiers library that came with the Codesmith code generator I use.
As a Codesmith user, it was nice to see some mention of code generation. Though it would have been nice to see the one I use represented, I can understand the desire to focus on ones that are open source and freely available. In fact, thanks to the coverage in the book, I have downloaded Subsonic and have been playing with it a bit.
All in all, this book seems to be a worthwhile investment. Thanks for writing it!
Joseph Van Valen
February 21st, 2008 at 10:58 am
Joseph,
I really appreciate your feedback. I am really glad that you are getting a lot of use out of it. There is so much more that I wanted to put into the book that I am now preparing to cover on my new blog that I am writing as a companion to the book. It will also cover other topics like using JavaScript with ASP.NET.
http://blog.smallsharptools.com/
From the book I have pulled out the DomainObject and related classes into a lightweight project called SmallSharpTools.DataAccess. It is meant as a simple drop-in solution for quick binding of database columns to your business objects. It has additional features that I added after I completed the book. More additions are planned, such as support for a compound primary key.
http://svn.offwhite.net/trac/SmallSharpTools.DataAccess
If you ever have any questions I am happy to answer them. It will really help me with deciding what I should write about in the blog.
Thanks again,
Brennan