ASP.NET MVC Preview 3 and Linq-to-SQL - One Month On

At the start of September, we launched a web app based on ASP.NET MVC preview 3 and Linq-to-SQL, and I'm happy to say that it's generally gone really, really well.

Our primary codebase is legacy ASP in JScript, but for this latest project - an online proof and payment system for actors renewing their Spotlight membership - we needed something faster, more robust and generally better. I'd been playing with the ASP.NET MVC previews since version 1, and while the framework's obviously still very much in development, I figured my ASP.NET background would mean a much easier learning curve than trying to pick up MVC at the same time as learning a new view engine like Brail or NVelocity. I used a Linq-to-SQL implementation of IRepository<T> based on code from Mike Hadlow's Suteki Shop project -the original intent was just to try it out for a couple of hours to see how it worked, but it performed so well for what we needed that I just went ahead and built the rest of the app on top of it.

Linq-to-SQL clearly has some interesting potential, but it's also clearly showing right now the biggest problems with it are the slightly clunky tools (having to hack the XML to create cascade delete relationships, no way to refresh a table in the LINQ designer if the schema's changed, for example) and the big question mark hanging over its future. Between Entity Framework and the various open-source OR mappers competing for mindshare, not to mention talk of a Linq-to-NHibernate implementation, it's really not clear whether Linq-to-SQL will ever see another release which fixes the problems with the current release, or whether it's just going to be quietly retired as a historical curiosity.

ASP.NET MVC, on the other hand, looks like it's really going to go places - especially with the news that Microsoft are going to be shipping - and supporting - jQuery with ASP.NET MVC and Visual Studio. The day I get my hands on Intellisense for jQuery will be a good day indeed. I can't wait.