Author: Oleg Sych
Audience: Experienced ASP.NET developers
Reviewed by: Kay Ewbank
ASP.NET may not be the favorite flavor around Microsoft these days, but out in the real world there are plenty of people still relying on it to do real work.
In some ways, ASP.NET only attained maturity relatively recently, and its ability to handle data is one of its better features.
ASP.NET Dynamic Data Unleashed has been written by Oleg Sych, who until now is probably best known for his knowledge of T4 (the Text Template Transformation Toolkit that was the template-based code generation engine included with Visual Studio 2008 and 2005). In this book Sych turns his attention to ASP.NET, and in particular the Dynamic Data facilities that mean you can use the WebForms framework to build applications that work with data.
The way Dynamic Data in ASP.NET works is that you use templates to generate web pages or even whole applications. The templates are designed to use metadata that is passed to them using LINQ-based data access frameworks.
The book opens with a set of chapters on the fundamentals of Dynamic Data; the entity framework, field, entity, filter and page templates each get a chapter, ending with a chapter on the Metadata API. The second half of the book looks at using Dynamic Data in real-world apps, and Sych shows how to carry out entity validation, build custom forms, dynamic forms, custom search pages and dynamic list pages, finishing with a look at security. The first half of the book gives solid coverage of the elements of Dynamic Data. Each chapter starts off with a lucid and understandable outline of the problem a particular component is trying to solve, and how a filter template (for example) gets around the problem of letting a user carry out a search with multiple optional parameters. Having explained why you need a particular feature, Sych then goes through using it. He doesn’t waste space with waffle, and right from the start uses code snippets and plenty of samples. The book was based on .NET 4.0 and VS 2010, though the code samples are also available in an updated form on the MSDN code gallery for .Net 4.5 and VS 2012.
If the first part of the book teaches you what’s available in Dynamic Data, the second part is very good for showing how to use it, though there were times when I’d have welcomed a bit more scene setting and explanation. The chapter on entity validation includes sections on declarative and imperative validation, and shows how to validate multiple rules and entity state changes. Business Logic gets a meaty chapter with some good material on validation rules, using triggers and stored procedures, and how to put together entity interaction rules. I still felt business logic probably could have used up several chapters, and the material would have benefitted from higher level explanations, but the technical coverage was good.
The chapter on building custom forms hit the mark more closely because the topic is smaller. Sych covers using the supplied field templates and creating your own; how to improve encapsulation of field templates; and using entity templates to control field templates. Dynamic forms get their own chapter, as do dynamic list pages. In both chapters Sych gives a good explanation of what a dynamic form and list are and how to control and customize them. The chapter on custom search pages looks in detail at how to display information from related entities then create filters based on them. Sych ends with an overview of adding security to your apps in terms of authorization rules and the Metadata Security API.
This book isn’t an easy read. There’s a lot of information, the facts-per-page figure is high, and the writing style overall is pretty dense. This isn’t a criticism - most books waste space on waffle, but this isn’t one of them. I’d have found it an easier read with a bit more padding, but given the choice of padding or useful info, I’ll take the useful info, thanks very much. If you want to create web apps using ASP.NET Dynamic Data, you’ll find this title invaluable.