<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://codebetter.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">David Hayden [MVP C#]</title><subtitle type="html">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.NET Tutorials, Patterns, and Practices</subtitle><id>http://codebetter.com/blogs/david.hayden/atom.aspx</id><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/default.aspx" /><link rel="self" type="application/atom+xml" href="http://codebetter.com/blogs/david.hayden/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20416.853">Community Server</generator><updated>2008-03-05T18:16:00Z</updated><entry><title>Visual Studio 2008 SP1 "Background Compiling" for C#</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/05/13/visual-studio-2008-sp1-quot-background-compiling-quot-for-c.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/05/13/visual-studio-2008-sp1-quot-background-compiling-quot-for-c.aspx</id><published>2008-05-13T18:41:00Z</published><updated>2008-05-13T18:41:00Z</updated><content type="html">&lt;p&gt;I don&amp;#39;t know the proper term for the new functionality in Visual Studio 2008 SP1 for C# that does code anaysis and finds compilation errors without an explicit compile ( what I would term &amp;quot;Background Compilation&amp;quot; ), but Scott Guthrie provides the following description:&lt;/p&gt;
&lt;p&gt;&amp;quot;The C# code editor now identifies and displays red squiggle errors for many semantic code issues that previously required an explicit compilation to identify.&amp;nbsp; For example, if you try to declare and use an unknown type in the C# code-editor today you won&amp;#39;t see a compile error until you do a build.&amp;nbsp; Now with SP1 you&amp;#39;ll see live red squiggle errors immediately (no explicit compile required):&amp;quot;&lt;/p&gt;
&lt;p&gt;Holy time savings Batman, this is much needed functionality for those developers who are not using ReSharper or another tool that provides similar code analysis in the background. I had to jump on my development machine that is &lt;u&gt;not&lt;/u&gt; running the Visual Studio 2008 SP1 Beta just to make sure this background compilation wasn&amp;#39;t already being done in Visual Studio 2008.&lt;/p&gt;
&lt;p&gt;I didn&amp;#39;t put the feature through a thorough testing, but I was just happy that it would identify unknown classes and other little things. The red squiggles are a huge time saver.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:469px;HEIGHT:380px;" height="380" src="http://codebetter.com/photos/david.hayden/images/178161/original.aspx" width="469" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:490px;HEIGHT:382px;" height="382" src="http://codebetter.com/photos/david.hayden/images/178163/original.aspx" width="490" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is worth Visual Studio 2008 SP1 alone. And, no, I don&amp;#39;t know what performance impact this has on large projects :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Recent Visual Studio 2008 SP1 Beta Posts:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/05/12/EntityDataSourceADONETEntityDataModelVisualStudio2008SP1.aspx"&gt;EntityDataSource Companion to ADO.NET Entity Data Model in Visual Studio 2008 SP1&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/05/13/DynamicDataEntitiesWebsitesEntityDataSourceASPNETWebsiteScaffolding.aspx"&gt;Dynamic Data Entities Websites - EntityDataSource and ASP.NET Website Scaffolding - Rapid Application Development ( RAD )&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=178166" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>Book Review: C# in Depth</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/05/08/book-review-c-in-depth.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/05/08/book-review-c-in-depth.aspx</id><published>2008-05-08T14:42:00Z</published><updated>2008-05-08T14:42:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/1933988363?ie=UTF8&amp;amp;tag=davidhacom-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1933988363"&gt;&lt;img src="http://codebetter.com/photos/david.hayden/images/177873/original.aspx" align="right" border="0" alt="" /&gt;&lt;/a&gt;&lt;img style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;MARGIN:0px;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=davidhacom-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1933988363" width="1" border="0" /&gt;While hanging at the pool last night with the kids, I finished an excellent book on C# by Jon Skeet, called &lt;a href="http://www.amazon.com/gp/product/1933988363?ie=UTF8&amp;amp;tag=davidhacom-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1933988363"&gt;C# in Depth: What you need to master C# 2 and 3&lt;/a&gt;&lt;img style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;MARGIN:0px;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=davidhacom-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1933988363" width="1" border="0" /&gt;. The book is about 370 pages, but feels like twice that size base on&amp;nbsp;the depth of its content. Jon not only shows you what is possible with all the new language features in C# 2 and 3, but also explains why they are possible, the problems they solve in previous versions of the language, and thoughts on when and how to use them. By combining both the C# 2 and C# 3 languages features in a single book with an emphasis on the evolution of the language, you end up with a clear roadmap of C# and an appreciation and deeper understanding&amp;nbsp;as to&amp;nbsp;why you are using certain features as you develop.&lt;/p&gt;
&lt;p&gt;In my opinion, it was enjoyable to read the C# 2 coverage in the book as much as it was to read the C# 3 coverage. If you feel you could use a better understanding of delegates, generics, nullable types, anonymous methods, and iterators, Jon goes into it pretty deep. Along the way he is going to challenge a lot of myths, explain a number of concepts like covariance and contravariance, show a lot more type inference occurring than I originally thought was possible, and provide numerous code snippets that will give you a better command of using those features to their fullest. During his trip into C# 2, he&amp;nbsp;provides you with a look back at C# 1 so you understand the evolution that is occuring as well as giving you sneak peeks at C# 3 when appropriate.&lt;/p&gt;
&lt;p&gt;One of the big values to note is that Jon is mainly focusing on the C# language and at times showing the framework taking advantage of those features. This gives you an appreciation for both the C# language and the .NET Framework and a clear understanding of both.&lt;/p&gt;
&lt;p&gt;Jon then dives into the what, how, and why of the C# 3 features ( and compiler features ): automatically implemented properties, implicitly typed local variables, object and collection intializers, implicitly typed arrays, anonymous types, lambda expressions, expression trees, extension methods, etc. While discussing these features, we always get the reasons behind the new features in terms of the previous versions of the C# language. What was nice here is that we weren&amp;#39;t getting pounded with LINQ when talking about C# 3. We get plenty of that from a LINQ book and it was nice to stay focused on the C# 3 language itself. I particularly enjoyed the topics of lambda expressions and expression trees as they are a probably a bit more difficult to digest of all the new features. I also love the whole evolution of delegates as we move from anonymous methods to lambda expressions. I can never read too much of that :) We also get a nice combination of code samples mixing C# 2 and C# 3 features in numerous ways to show off the possibilities.&lt;/p&gt;
&lt;p&gt;Last,&amp;nbsp;C# In Depth&amp;nbsp;gives you&amp;nbsp;a quick introduction of LINQ&amp;nbsp;and its flavors of&amp;nbsp;LINQ To Objects, LINQ To Datasets, and LINQ To SQL. This isn&amp;#39;t a LINQ book, so&amp;nbsp;you&amp;#39;re not getting&amp;nbsp;in-depth coverage in these areas, but rather just an introduction to give you a taste for&amp;nbsp;applying the C# features covered as they pertain to LINQ. Think of the coverage as a transition to a book on LINQ.&lt;/p&gt;
&lt;p&gt;Overall, I cannot think of anything I would really change about the book. The coverage was solid. I will say it is a challenging read, so don&amp;#39;t think you are going to breeze right through it. I ended up reading several sections over and over and often had Snippet Compiler running on the laptop to&amp;nbsp;run the code snippets. Because the book is frequently looking back to previous versions of C# or looking ahead when appropriate to give you the full picture, you need to stay on your toes. It is all worth it in the end, however :)&lt;/p&gt;
&lt;p&gt;I highly recommend &lt;a href="http://www.amazon.com/gp/product/1933988363?ie=UTF8&amp;amp;tag=davidhacom-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1933988363"&gt;C# in Depth&lt;/a&gt;&lt;img style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;MARGIN:0px;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=davidhacom-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1933988363" width="1" border="0" /&gt; for anyone wanting a better grasp of the C# language.&lt;/p&gt;
&lt;p&gt;by &lt;a class="" title="Florida .NET Developer" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=177889" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>MacBook Pro, iWork, Expression Studio 2 and other Rumblings...</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/05/05/macbook-pro-iwork-expression-studio-2-and-other-rumblings.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/05/05/macbook-pro-iwork-expression-studio-2-and-other-rumblings.aspx</id><published>2008-05-05T20:08:00Z</published><updated>2008-05-05T20:08:00Z</updated><content type="html">&lt;p&gt;I have been quiet the past couple of weeks on CodeBetter. Truth be told I had nothing really &amp;quot;CodeBetter&amp;quot; worthy to say ( and still don&amp;#39;t ) as most of my time over the past couple of months has been occupied trying to figure out the new MacBook Pro I purchased to replace my aging Dell XPS laptop that is just not fast enough to run Visual Studio 2008 let alone Vista.&lt;/p&gt;
&lt;p&gt;No real reason to purchase the Mac over another laptop other than I was just looking for a little adventure.&amp;nbsp;From time-to-time&amp;nbsp;you need to burst that self-made bubble where you are comfortable, and&amp;nbsp;head in an unknown direction where you can&amp;nbsp;feel the excitement of&amp;nbsp;being clumsy, out-of-place, and at the mercy of others as you ask what you know are the most basic questions. Unless you put yourself in those situations, however,&amp;nbsp;you just stop growing as a developer and a person.&lt;/p&gt;
&lt;p&gt;So here I am two months into my MacBook Pro and I still feel green, but I am being very productive andI am having&amp;nbsp;loads of&amp;nbsp;fun as I get to play with some tools and toys that make me feel a little more worldly so-to-speak.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;VMware Fusion&lt;/h2&gt;
&lt;p&gt;First and foremost, VMware Fusion is a freaking unbelievable application that allows you to run Windows on your Mac. I am running my full stack of developer, web development, and graphic design tools and they work flawlessly with no noticeable performance hit. And, I am not using BootCamp. This is pure VMware Fusion on a MacBook Pro. If you have any doubts about running Fusion, I can tell you that after 2 months I have not come across a single problem ( knock on wood ).&lt;/p&gt;
&lt;p&gt;I talk about this in a couple of posts, but you can find similar information all over the web:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/04/16/MacBookProVisualStudio2008vmwareFusion.aspx"&gt;MacBook Pro running Visual Studio 2008 using vmware Fusion&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/04/20/VmwareFusionUnityMacBookPro.aspx"&gt;vmware Fusion Unity - Windows Apps Running Alongside Mac Applications on MacBook Pro&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/05/02/FreeVMwareFusionUpdateMacBookAirTimeMachine.aspx"&gt;Free VMware Fusion 1.1.2 Update - Better Support for MacBook Air and Time Machine&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;One of the coolest things you can do with VMware Fusion is set it up in Unity Mode where the virtualization desktop goes away and your Windows Apps run along-side Mac Apps on the Mac Desktop. As I have migrated some of my daily activities to Mac Apps, this all works out really slick.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Apple iWork &amp;#39;08&lt;/h2&gt;
&lt;p&gt;I had a couple of presentations to give&amp;nbsp;the other day to a new client and I took a gamble on moving some of my Powerpoint Presentations to Keynotes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/04/30/AppleiWorks08KeynotesPresentationsSimplyStunning.aspx"&gt;Apple iWork &amp;#39;08 Keynotes for Presentations - Simply Stunning&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I am not an&amp;nbsp;adept Powerpoint user. However, I tell you what, Keynotes&amp;nbsp;is absolutely amazing to create presentations. Without using any documentation and the stock templates, you can put together some really nice presentations complete with transitions and actions very easily.&lt;/p&gt;
&lt;p&gt;I haven&amp;#39;t done much with Pages ( word processing ) and Numbers (spreadsheet ) that come with iWork, but Keynotes is definitely as good as they say in the Mac community. I will use Keynotes from now on for all my presentations.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Expression Studio 2&lt;/h2&gt;
&lt;p&gt;I am actively trying to use Expression Studio in my day-to-day tasks to replace my&amp;nbsp;old versions of Adobe Dreameaver and Adobe Fireworks from the Macromedia days. Yeah, that old. Thing is, they work flawlessly and are really enjoyable to use, having a wonderful UI and a wonderful set of features in my probably 3 to 4 year old versions.&lt;/p&gt;
&lt;p&gt;My first thoughts are to use Expression Design 2 and Expression Web 2 which I talk about here-&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/05/01/MicrosoftExpressionStudio2Released.aspx"&gt;Microsoft Expression Studio 2 Released&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/05/04/ExpressionDesign2NeedsBitmapGraphicsToolsCropLassoMagicWandMarquee.aspx"&gt;Expression Design 2 Needs Some Bitmap Graphics Tools like Crop Lasso Magic Wand Marquee&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/05/04/ExpressionWeb2PublishWebsiteFTPExplorerTreeView.aspx"&gt;Expression Web 2 - FTP Explorer to Publish Websites Should be a TreeView&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;At this point, I realize Expression Design 2 will not do. It is a good product for vector graphics, but I can&amp;#39;t do much with it in terms of bitmap or pixel graphics. It doesn&amp;#39;t have the tools.&lt;/p&gt;
&lt;p&gt;I just started playing with Expression Web 2, so I don&amp;#39;t have much to say on it at the moment other than the FTP Site Publisher is questionable. Even &lt;a class="" href="http://davidhayden.com/blog/dave/archive/2008/05/03/CodaMacWebDesignDevelopmentTool.aspx"&gt;Coda for Mac Web Development&lt;/a&gt; is better at publishing sites at $79, but I need to dig into Expression Web 2 a bit more.&lt;/p&gt;
&lt;p&gt;I am thinking about just trying&amp;nbsp;the new versions of Adobe Fireworks and Dreamweaver on the Mac and see what they offer, if anything. The upgrade prices are a bit steep for just wanting to more-or-less get to the latest versions.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I have a few other things I have been playing with, but most of it is on the Mac. I have got a number of new Mac Apps that are pretty cool. I have been using AppleTV quite a bit and converting movies over to it. I am creating&amp;nbsp;a Dashboard widget using DashCode on the Mac,. Etc. If anyone else is playing with a Mac for the first time, I would love to hear about it. It&amp;#39;s nice to have others to bounce ideas off of and share experiences.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dave&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=177698" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>Presentation Recap: ASP.NET MVC Framework - Unity IoC - Data Access Tips &amp; Techniques</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/04/11/presentation-recap-asp-net-mvc-framework-unity-ioc-data-access-tips-amp-techniques.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/04/11/presentation-recap-asp-net-mvc-framework-unity-ioc-data-access-tips-amp-techniques.aspx</id><published>2008-04-12T00:10:00Z</published><updated>2008-04-12T00:10:00Z</updated><content type="html">&lt;p&gt;&lt;img title="Sarasota .NET Developer" style="WIDTH:264px;HEIGHT:120px;" height="120" alt="Sarasota .NET Developer" src="http://codebetter.com/photos/david.hayden/images/176620/original.aspx" width="264" align="right" /&gt;I presented a number of topics at the Sarasota Florida .NET Developer Group on Thursday Evening. I gave two 1-hour presentations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://www.pnpguidance.net/Post/SarasotaNETDeveloperGroupASPNETMVCFrameworkIntroduction.aspx"&gt;Introduction to the ASP.NET MVC Framework&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://www.pnpguidance.net/Post/SarasotaDeveloperGroupLINQToSQLEntityFrameworkADONETDataServices.aspx"&gt;Data Access Tips &amp;amp; Techniques&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;and&amp;nbsp;we hit a number of newer technologies in the span of two hours:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;ASP.NET MVC Framework&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Unity IoC with ASP.NET MVC Framework&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ADO.NET Fundamentals and Best Practices&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Enterprise Library Data Access Application Block&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;LINQ To SQL and LINQ To SQL API ( Executing Commands, Queries, Stored Procedures )&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ASP.NET Dynamic Data&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ADO.NET Entity Framework ( Entity Client, Object Services, LINQ To Entities )&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ADO.NET Data Services (&amp;nbsp;using LINQ To SQL, Custom BookCollection Class, and AJAX )&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Thanks to everyone who attended and for all the great feedback on the presentations and examples.&lt;/p&gt;
&lt;p&gt;Here are a few links I have mentioned in the past for those who attended and are looking for more information.&lt;/p&gt;
&lt;p&gt;I have some &lt;a class="" href="http://davidhayden.com/blog/dave/category/59.aspx?Show=All"&gt;LINQ To SQL Tutorials&lt;/a&gt; and &lt;a class="" href="http://davidhayden.com/blog/dave/category/69.aspx?Show=All"&gt;ASP.NET Dynamic Data Tutorials&lt;/a&gt; that I put together&amp;nbsp;in the past.&amp;nbsp;I mentioned&amp;nbsp;the&amp;nbsp;&lt;a class="" href="http://davidhayden.com/blog/dave/archive/2008/04/10/ASPNETDynamicDataPreviewReleasedCodeGallery.aspx"&gt;new drop of ASP.NET Dynamic Data on Code Gallery&lt;/a&gt;.&amp;nbsp;I recommend watching&amp;nbsp;David Ebbo&amp;#39;s Mix 08 Video: &lt;a class="" href="http://davidhayden.com/blog/dave/archive/2008/03/06/ASPNETDynamicDataWebsitesPresentationMix08.aspx"&gt;ASP.NET Dynamic Data Websites Presentation at Mix 08&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are&amp;nbsp;a couple of additional MIX 08 Videos I saw that are worth watching on ADO.NET Data Services:&amp;nbsp; &lt;a class="" href="http://davidhayden.com/blog/dave/archive/2008/03/08/ADONETDataServicesPabloCastroMIX08SessionVideo.aspx"&gt;ADO.NET Data Services with Pablo Castro&lt;/a&gt;&amp;nbsp;and &lt;a class="" href="http://davidhayden.com/blog/dave/archive/2008/03/09/MIX08VideoPresentationADONETDataServicesFrameworkMikeFlasko.aspx"&gt;ADO.NET Data Services with Mike Flasko&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Make sure you download &lt;a class="" href="http://www.asp.net/MVC/"&gt;ASP.NET MVC Preview 2&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="" href="http://codeplex.com/unity"&gt;Unity 1.0&lt;/a&gt;.&amp;nbsp;Check out&amp;nbsp;Scott Hanselman&amp;#39;s &lt;a class="" href="http://www.asp.net/MVC/"&gt;ASP.NET MVC in Action&lt;/a&gt; Videos.&amp;nbsp;I put together an &lt;a class="" href="http://www.pnpguidance.net/Screencast/UnityIoCDependencyInjectionASPNETMVCFrameworkScreencast.aspx"&gt;ASP.NET MVC with Unity Screencast&lt;/a&gt;, which mirrors the&amp;nbsp;walk-thru I did&amp;nbsp;during the presentation.&amp;nbsp;I mentioned&amp;nbsp;the &lt;a class="" href="http://codeplex.com/MVCContrib"&gt;MVCContrib Project&lt;/a&gt;&amp;nbsp;for IoC Containers and View Engine Examples with the ASP.NET MVC.&amp;nbsp;Although there is nothing there yet, I also mentioned the &lt;a class="" href="http://www.pnpguidance.net/Post/UnityContribProjectOpensItsDoorsUnityExtensionsSamplesTutorials.aspx"&gt;UnityContrib Project is kicking-off&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Have a great weekend. Again, thanks for attending!&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176621" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>Book Review: LINQ in Action</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/04/06/book-review-linq-in-action.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/04/06/book-review-linq-in-action.aspx</id><published>2008-04-06T23:05:00Z</published><updated>2008-04-06T23:05:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/1933988169?ie=UTF8&amp;amp;tag=davidhacom-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1933988169"&gt;&lt;img title="LINQ in Action" style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;WIDTH:180px;BORDER-BOTTOM:0px;HEIGHT:200px;" height="200" alt="LINQ in Action" src="http://codebetter.com/photos/david.hayden/images/176399/original.aspx" width="180" align="right" /&gt;&lt;/a&gt;&lt;img style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;MARGIN:0px;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=davidhacom-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1933988169" width="1" border="0" /&gt;I&amp;nbsp;read another excellent book on LINQ recently, called &lt;a href="http://www.amazon.com/gp/product/1933988169?ie=UTF8&amp;amp;tag=davidhacom-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1933988169"&gt;LINQ in Action&lt;/a&gt;&lt;img style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;MARGIN:0px;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=davidhacom-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1933988169" width="1" border="0" /&gt;, which provides some excellent coverage of the new language enhancements added for LINQ as well as the various flavors of LINQ. If you are looking for a single book to learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Anonymous Types&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Expression Trees&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Extension Methods&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Implicity Typed Local Variables&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Lambda Expressions&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Object and Collection Initializers&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Query Expressions&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Query Operators&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;LINQ To Objects&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;LINQ To Xml&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;LINQ To SQL&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;etc...&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;you will enjoy reading LINQ in Action.&lt;/p&gt;
&lt;p&gt;LINQ in Action starts out by teasing you with an introducion to each flavor of LINQ so that you have an idea as to what will be discussed in future chapters. Think of the initial sample code as the &amp;quot;Hello World&amp;quot; to get your brain in tune with what is to come and the gist of the technology. The introduction gets you craving for more.&lt;/p&gt;
&lt;p&gt;The book then introduces you to the language features in VB 9.0 and C# 3.0 that have been added for LINQ. You get solid coverage of the language features as well as sample code in both VB and C#. It puts the features in perspective based on what we had in previous versions of the languages to give you a good reference point as to where we have come from and where we are going.&lt;/p&gt;
&lt;p&gt;LINQ in Action then dives into the standard query operators so you can get a feel&amp;nbsp;for querying across all flavors of LINQ, whether you want to query against in-memory objects, XML, or a database.&lt;/p&gt;
&lt;p&gt;The book then jumps into LINQ to Objects, LINQ to XML, and LINQ to SQL. Good coverage of the features as well as practical advice about performance considerations. I enjoyed the pragmatic and objective nature of the advice&amp;nbsp;mentioning the overhead that can occur with LINQ vs. other language options, and yet showing the amazing results one can achieve using a simple query that would take many lines of code to achieve otherwise.&lt;/p&gt;
&lt;p&gt;The LINQ To SQL coverage was excellent. You get into all the cool features with regard to O/R Mapping as well as the dicey parts of transaction management, concurrency, and disconnected data. It goes into support for stored procedures, user-defined functions, and executing queries and commands using the LINQ To SQL API.&lt;/p&gt;
&lt;p&gt;I avoided the LINQ To XML coverage as I generally avoid XML topics :), only to come back to it with a real-world problem&amp;nbsp;and found the solution&amp;nbsp;in the first 10 pages of the chapter. The book is not only a good read, but a great reference manual when you come across problems :)&lt;/p&gt;
&lt;p&gt;The end of the book has some&amp;nbsp;examples on extending LINQ, LINQ in every layer&amp;nbsp;as well as the dilemma of how we deal with LINQ To SQL&amp;nbsp;in the&amp;nbsp;data access layer- do we go RAD or do we implement a properly encapsulated LINQ To SQL Data Access Layer per Ian Cooper&amp;#39;s excellent &lt;a class="" href="http://codebetter.com/blogs/ian_cooper/archive/2008/04/06/architecting-linq-to-sql-applications-part-8.aspx"&gt;Architecting LINQ To SQL Applications&lt;/a&gt; Series?&lt;/p&gt;
&lt;p&gt;As far as improvements to the book, I playfully mentioned to Jim Wooley at the Orlando Code Camp that his coverage of LINQ To SQL&amp;nbsp;was excellent, but that he was teasing us with his coverage of LINQ TO SQL in the Data Access Layer. He started talking about architecture and encapsulating LINQ To SQL, but stayed at a very high level. Just like before when I felt I&amp;nbsp;could use&amp;nbsp;a 3rd book in the saga of &lt;a class="" href="http://davidhayden.com/blog/dave/archive/2004/10/10/543.aspx"&gt;Domain-Driven Design&lt;/a&gt; and &lt;a class="" href="http://davidhayden.com/blog/dave/archive/2006/07/03/ApplyingDomainDrivenDesignAndPatterns.aspx"&gt;Applying Domain-Driven Design and Patterns&lt;/a&gt;&amp;nbsp;that filled in many of the gaps, I could&amp;nbsp;use&amp;nbsp;a solid book on implementing LINQ To SQL in the Data Access Layer. I am about 90% there, but the Repository Pattern abstraction&amp;nbsp;is hurting&amp;nbsp;my edge cases where I need to introduce better and seamless use of the DataLoadOptions, etc. This coverage is certainly out-of-scope for the book, but Jim got me excited when he brought up the subject :)&lt;/p&gt;
&lt;p&gt;I highly recommend LINQ&amp;nbsp;In Action, It&amp;nbsp;is enjoyable to read as well as a good reference for your development.&lt;/p&gt;
&lt;p&gt;by &lt;a class="" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176400" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>Unity IoC and ASP.NET MVC Framework Screencast</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/04/04/unity-ioc-and-asp-net-mvc-framework-screencast.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/04/04/unity-ioc-and-asp-net-mvc-framework-screencast.aspx</id><published>2008-04-04T14:10:00Z</published><updated>2008-04-04T14:10:00Z</updated><content type="html">&lt;p&gt;&lt;a class="" href="http://www.pnpguidance.net/Screencast/UnityIoCDependencyInjectionASPNETMVCFrameworkScreencast.aspx"&gt;&lt;img title="Unity IoC and ASP.NET MVC Framework" style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;WIDTH:318px;BORDER-BOTTOM:0px;HEIGHT:283px;" height="283" alt="Unity IoC and ASP.NET MVC Framework" src="http://codebetter.com/photos/david.hayden/images/176313/original.aspx" width="318" align="right" /&gt;&lt;/a&gt;Based on several requests, I created a new screencast that shows one step-by-step how to add the Unity IoC Container from Microsoft Patterns &amp;amp; Practices to an ASP.NET MVC Web Application&amp;nbsp;to create controllers and inject their dependencies.&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.pnpguidance.net/Screencast/UnityIoCDependencyInjectionASPNETMVCFrameworkScreencast.aspx"&gt;Unity IoC - Dependency Injection in ASP.NET MVC Framework Screencast&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can also catch the first Unity Screencast that shows about a dozen common usages of Unity as well as briefly discusses the use of Unity using MVC and Model-View-Presenter:&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.pnpguidance.net/Screencast/UnityDependencyInjectionIoCScreencast.aspx"&gt;Unity Dependency Injection IoC Screencast&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here are some links to sample code on Unity regarding what you see in the screencasts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.pnpguidance.net/Post/UnityIoCASPNETMVCFrameworkDependencyInjectionControllers.aspx"&gt;Unity IoC and ASP.NET MVC Framework - Dependency Injection of Controllers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.pnpguidance.net/Post/UnityNestedContainersIUnityParentContainerCreateChildContainer.aspx"&gt;Unity Nested Containers - IUnityParentContainer and CreateChildContainer&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://www.pnpguidance.net/Post/UnityContainerUnityConfigurationSectionAppConfigWebConfig.aspx"&gt;UnityContainer and UnityConfigurationSection - Populating Unity Container via App.config or Web.config&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://www.pnpguidance.net/Post/UnityIoCDependencyInjectionASPNETModelViewPresenter.aspx"&gt;Unity IoC Dependency Injection and ASP.NET Model-View-Presenter&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hope this helps.&lt;/p&gt;
&lt;p&gt;Dave&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176314" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author><category term="Featured" scheme="http://codebetter.com/blogs/david.hayden/archive/tags/Featured/default.aspx" /></entry><entry><title>Enterprise Library 4.0 CTP Available</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/04/01/enterprise-library-4-0-ctp-available.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/04/01/enterprise-library-4-0-ctp-available.aspx</id><published>2008-04-01T16:24:00Z</published><updated>2008-04-01T16:24:00Z</updated><content type="html">&lt;p&gt;Microsoft Patterns &amp;amp; Practices released the&amp;nbsp;Enterprise Library 4.0 CTP. You can download it &lt;a class="" href="http://codeplex.com/entlib"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you use Enterprise Library quite a bit, at a minimum I recommend downloading the change log to see if they missed a bug or issue that you were hoping to have addressed in the latest release.&lt;/p&gt;
&lt;p&gt;It is nice to at least see the following two fixes as mentioned in the change log:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;In version 4.0, Enterprise Library has the Allow Partially-Trusted Caller attribute (APTCA) on all assemblies. This means that you can call the methods of Enterprise Library and the application blocks from an application running in a &lt;strong&gt;partial trust environment&lt;/strong&gt;. You can do this with the signed assemblies provided with Enterprise Library. There is no longer any requirement, as there was in version 3.x, to recompile the source code and the source code for Object Builder then either use the unsigned binaries or strong-name them yourself.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The [Logging] application block now allows you to specify that the &lt;strong&gt;RollingFlatFileTraceListener will start a new file at midnight every day&lt;/strong&gt;. To use this behavior, set the value of the RollInterval property of the RollingFlatFileTraceListener to Midnight.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;When &lt;a class="" href="http://www.pnpguidance.net/Tag/EnterpriseLibrary4.aspx"&gt;Enterprise Library 4.0&lt;/a&gt; is officially released, it will also have optional support for using &lt;a class="" href="http://www.pnpguidance.net/Tag/Unity.aspx"&gt;Unity IoC&lt;/a&gt; to wire up the various application blocks.&lt;/p&gt;
&lt;p&gt;If you haven&amp;#39;t used Enterprise Library, I have numerous &lt;a class="" href="http://davidhayden.com/blog/dave/category/50.aspx?Show=All"&gt;Enterprise Library 2.0 Tutorials&lt;/a&gt; and &lt;a class="" href="http://davidhayden.com/blog/dave/category/60.aspx?Show=All"&gt;Enterprise Library 3.0 Tutorials&lt;/a&gt; that I have put together over the past couple of years that may be worth reading.&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176160" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author><category term="Featured" scheme="http://codebetter.com/blogs/david.hayden/archive/tags/Featured/default.aspx" /></entry><entry><title>Visual Studio 2008 Tips: Implement Interface Regions and Organize Usings Settings</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/04/01/visual-studio-2008-tips-implement-interface-regions-and-organize-usings-settings.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/04/01/visual-studio-2008-tips-implement-interface-regions-and-organize-usings-settings.aspx</id><published>2008-04-01T15:16:00Z</published><updated>2008-04-01T15:16:00Z</updated><content type="html">&lt;p&gt;Awhile back I wrote a quick tutorial on how to optimize using statements in Visual Studio 2008 similar to ReSharper:&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://davidhayden.com/blog/dave/archive/2008/01/29/VisualStudio2008ResolvingNamespacesRemovingUnusedUsingStatementsTip.aspx"&gt;Visual Studio 2008 Tip: Resolving Namespaces and Removing Unused Using Statements&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I received a few comments from people wondering how to remove the warning in Visual Studio about optimizing usings when build error exists and sorting of System Namespaces, which led me to the Advanced Settings for the C# Text Editor in Visual Studio 2008. As shown below, you can modify the behavior if you don&amp;#39;t like the defaults:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="Visual Studio 2008 Tips" style="WIDTH:525px;HEIGHT:350px;" height="350" alt="Visual Studio 2008 Tips" src="http://codebetter.com/photos/david.hayden/images/176155/original.aspx" width="525" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The other gem I picked up from this discovery process is the ability to not have Visual Studio 2008 insert a region around the methods it generates when you ask it to implement an interface. So now when you engage this feature in Visual Studio 2008:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="Visual Studio 2008 Implement Interface" style="WIDTH:443px;HEIGHT:112px;" height="112" alt="Visual Studio 2008 Implement Interface" src="http://codebetter.com/photos/david.hayden/images/176157/original.aspx" width="443" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The methods generated won&amp;#39;t have a region around them if you uncheck the checkbox highlighted above ( Surround generated code with #region ).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Recent Visual Studio 2008 Mentionables:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://davidhayden.com/blog/dave/archive/2008/03/31/VisualStudio2008NETFramework35TrainingKitLabsTutorialsPowerpointPresentationDemos.aspx"&gt;Visual Studio 2008 and .NET Framework 3.5 Training Kit - Labs Tutorials Powerpoint Presentation Demos&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://davidhayden.com/blog/dave/archive/2008/03/18/VisualStudio2008AddInStickyNotes.aspx"&gt;Visual Studio 2008 Add-In Sticky Notes&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://davidhayden.com/blog/dave/archive/2008/03/18/MicrosoftVisualStudioTeamSystem2008DatabaseEditionPowerTools.aspx"&gt;Microsoft Visual Studio Team System 2008 Database Edition Power Tools&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176158" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>Orlando Code Camp Rocked - WCSF and Data Access Tips and Techniques Presentations</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/03/23/orlando-code-camp-rocked-wcsf-and-data-access-tips-and-techniques-presentations.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/03/23/orlando-code-camp-rocked-wcsf-and-data-access-tips-and-techniques-presentations.aspx</id><published>2008-03-24T02:25:00Z</published><updated>2008-03-24T02:25:00Z</updated><content type="html">&lt;p&gt;&lt;img title="Orlando Code Camp" style="WIDTH:230px;HEIGHT:180px;" height="180" alt="Orlando Code Camp" src="http://codebetter.com/photos/david.hayden/images/175788/original.aspx" width="230" align="right" /&gt;The &lt;a class="" href="http://www.flacodebrew.net/Post/OrlandoCodeCamp2008March222008.aspx"&gt;Orlando Code Camp&lt;/a&gt; was&amp;nbsp;this past&amp;nbsp;Saturday and was well worth the 4 hour round trip&amp;nbsp;from Sarasota to both present and attend some really cool sessions on .NET Development. The location was awesome, the event was&amp;nbsp;perfectly organized, and the florida developer community is always cool!&lt;/p&gt;
&lt;p&gt;I gave two presentations: &lt;a class="" href="http://www.pnpguidance.net/Post/OrlandoCodeCamp2008PresentationIntroductionWCSF2.aspx"&gt;Introduction to the Web Client Software Factory v2.0&lt;/a&gt; and &lt;a class="" href="http://www.pnpguidance.net/Post/OrlandoCodeCamp2008PresentationSQLServerDataAccessTipsTechniques.aspx"&gt;SQL Server Data Access Tips and Techniques&lt;/a&gt;. Thanks to all who attended and for the positive feedback on the presentations.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Introduction to the Web Client Software Factory v2.0&lt;/h2&gt;
&lt;p&gt;This presentation was similar to the presentation I gave at the &lt;a class="" href="http://www.pnpguidance.net/FreeDayPatternsAndPracticesTampa2008.aspx"&gt;Day of Patterns &amp;amp; Practices&lt;/a&gt; Event in Tampa, Florida, but updated to reflect Visual Studio 2008 and the new ASP.NET MVC Framework Preview 2. The presentation focused on the following items:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Visual Studio 2008 WCSF Guidance Package Walk-Thru.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Using the&amp;nbsp;3 new AJAX Guidance Bundles: AutoComplete Guidance Bundle, Validation Guidance Bundle, and Search Guidance Bundle.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Adding&amp;nbsp;the AJAX Guidance Bundles&amp;nbsp;into the ASP.NET Dynamic Data Framework.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Using the Composite Web Application Block ( CWAB ) without the Guidance Package.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Integrating&amp;nbsp;the CWAB&amp;nbsp;with the ASP.NET MVC Framework Preview 2 for dependency injection, pluggable business modules, etc.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;You can view a screencast I did that summarizes&amp;nbsp;a similar&amp;nbsp;presentation from the Day of Patterns &amp;amp; Practices:&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.pnpguidance.net/Screencast/DayOfPatternsPracticesScreencastWCSFAJAXDynamicDataMVCFramework.aspx"&gt;Day Of Patterns &amp;amp; Practices Screencast - WCSF AJAX DynamicData ASP.NET MVC Framework&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To get up to speed on WCSF, I recommend visiting the &lt;a class="" href="http://www.codeplex.com/websf"&gt;WCSF CodePlex Community&lt;/a&gt;. For further information, I created&amp;nbsp;several &lt;a class="" href="http://www.pnpguidance.net/Screencasts.aspx"&gt;WCSF Screencasts&lt;/a&gt; that walk you through using it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="WCSF AJAX Guidance Bundles" style="WIDTH:582px;HEIGHT:237px;" height="237" alt="WCSF AJAX Guidance Bundles" src="http://codebetter.com/photos/david.hayden/images/173824/original.aspx" width="582" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="Search Bundle" style="WIDTH:598px;HEIGHT:370px;" height="370" alt="Search Bundle" src="http://codebetter.com/photos/david.hayden/images/173827/original.aspx" width="598" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="Shopping Cart" style="WIDTH:459px;HEIGHT:410px;" height="410" alt="Shopping Cart" src="http://codebetter.com/photos/david.hayden/images/175789/original.aspx" width="459" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;SQL Server Data Access Tips &amp;amp; Techniques&lt;/h2&gt;
&lt;p&gt;I love presenting this session because it introduces a lot of really cool technologies associated with data access:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://davidhayden.com/blog/dave/category/26.aspx?Show=All"&gt;ADO.NET&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://davidhayden.com/blog/dave/archive/2006/01/08/2686.aspx"&gt;Enterprise Library Data Access Application Block&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://davidhayden.com/blog/dave/category/59.aspx?Show=All"&gt;LINQ To SQL&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ASP.NET Dynamic Data Framework&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ADO.NET Entity Framework: Entity Client, Object Services, LINQ To Entities&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ADO.NET Data Services&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This presentation is almost entirely done from scratch.&lt;/p&gt;
&lt;p&gt;In addition to using LINQ To SQL, I show how to customize the &lt;a class="" href="http://davidhayden.com/blog/dave/category/69.aspx?Show=All"&gt;ASP.NET Dynamic Data Framework&lt;/a&gt;&amp;nbsp;using the WCSF AJAX Guidance Bundles, similar to the WCSF Presentation. You can&amp;#39;t appreciate it from an image, but this demo shows real-time searching, autocomplete functionality, and real-time server-side validation with the Dynamic Data Framework:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="ASP.NET Dynamic Data" style="WIDTH:544px;HEIGHT:227px;" height="227" alt="ASP.NET Dynamic Data" src="http://codebetter.com/photos/david.hayden/images/173825/original.aspx" width="544" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I added a couple of new demos to the &lt;a class="" href="http://davidhayden.com/blog/dave/category/68.aspx?Show=All"&gt;ADO.NET Data Services&lt;/a&gt; part that shows using a custom data source, BookCollection, and an AJAX Web Client that accesses the data. This is in addition to showing ADO.NET Data Services with LINQ To SQL and the ADO.NET Entity Framework:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="ADO.NET Data Services" style="WIDTH:541px;HEIGHT:151px;" height="151" alt="ADO.NET Data Services" src="http://codebetter.com/photos/david.hayden/images/175790/original.aspx" width="541" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Thanks again to everyone who took part in organizing the event. I had a lot of fun.&lt;/p&gt;
&lt;p&gt;On Thursday, April 10th, 2008, I will be at the &lt;a class="" href="http://www.flacodebrew.net/Post/SarasotaApr2008MeetingASPNETMVCFrameworkDataAccessTipsTechniques.aspx"&gt;Sarasota .NET Developer Group Meeting&lt;/a&gt; presenting on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://www.pnpguidance.net/Post/SarasotaNETDeveloperGroupASPNETMVCFrameworkIntroduction.aspx"&gt;Introduction to the ASP.NET MVC Framework&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://www.pnpguidance.net/Post/SarasotaDeveloperGroupLINQToSQLEntityFrameworkADONETDataServices.aspx"&gt;Data Access Tips &amp;amp; Techniques&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Hope to see you there!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175791" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author><category term="Featured" scheme="http://codebetter.com/blogs/david.hayden/archive/tags/Featured/default.aspx" /></entry><entry><title>When Sticky Notes Go Bad...</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/03/18/when-sticky-notes-go-bad.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/03/18/when-sticky-notes-go-bad.aspx</id><published>2008-03-18T16:19:00Z</published><updated>2008-03-18T16:19:00Z</updated><content type="html">&lt;p&gt;&lt;img style="WIDTH:320px;HEIGHT:260px;" height="260" src="http://codebetter.com/photos/david.hayden/images/175495/original.aspx" width="320" align="right" alt="" /&gt;There is a &lt;a class="" href="http://code.msdn.microsoft.com/StickyNotes"&gt;Visual Studio 2008 Add-In&lt;/a&gt; that allows you to associate sticky notes with various classes and projects in your solution. It can be beneficial, but like any other tool, can also be used for &lt;em&gt;evil&lt;/em&gt; if the wife gets a hold of it. Sometime last night while the laptop was left vulnerable, the wife snuck in a brief note ( re-created to the right ).&lt;/p&gt;
&lt;p&gt;Sadly when I altered the message to leave a little response it updated the date and time, which meant I had corrupted the crime scene and my evidence... Doh!&lt;/p&gt;
&lt;p&gt;I can&amp;#39;t wait to see if&amp;nbsp;she returns to the crime scene tonight to look for a response&amp;nbsp;:) I guess I&amp;#39;ll do some laundry while working in the meantime ;)&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175500" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>New Unity IoC Screencast</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/03/16/new-unity-ioc-screencast.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/03/16/new-unity-ioc-screencast.aspx</id><published>2008-03-16T04:35:00Z</published><updated>2008-03-16T04:35:00Z</updated><content type="html">&lt;p&gt;&lt;a class="" title="Unity Dependency Injection Screencast" href="http://www.pnpguidance.net/Screencast/UnityDependencyInjectionIoCScreencast.aspx"&gt;&lt;img title="Unity IoC Screencast" style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;WIDTH:275px;BORDER-BOTTOM:0px;HEIGHT:240px;" height="240" alt="Unity IoC Screencast" src="http://codebetter.com/photos/david.hayden/images/175431/original.aspx" width="275" align="right" /&gt;&lt;/a&gt;I created a new &lt;a class="" href="http://www.pnpguidance.net/Screencast/UnityDependencyInjectionIoCScreencast.aspx"&gt;Unity IoC Screencast&lt;/a&gt; due to a number of recent changes to the Unity API as well as a new release of the ASP.NET MVC Framework Preview 2 that changed the IControllerFactory Interface.&lt;/p&gt;
&lt;p&gt;In addition to showing how to use Unity with ASP.NET Webforms Model-View-Presenter as well as the ASP.NET MVC Framework, the new screencast shows a dozen or so common usages of Unity in your applications, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Types Not In Container&lt;/li&gt;
&lt;li&gt;Registering and Resolving TypeMappings 
&lt;li&gt;Registering and Resolving Named TypeMappings 
&lt;li&gt;Singletons, LifetimeManagers, and the ContainerControlledLifetimeManager 
&lt;li&gt;Registering Existing Instances 
&lt;li&gt;Injecting Dependencies into Existing Instances 
&lt;li&gt;Populating UnityContainer via App.config / Web.config 
&lt;li&gt;Specifying Dependencies via Injection API as opposed to Dependency Attributes 
&lt;li&gt;Using Nested ( Parent-Child ) Containers&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hope this helps.&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.pnpguidance.net/Screencast/UnityDependencyInjectionIoCScreencast.aspx"&gt;Download the Unity IoC Screencast&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175432" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>Book Review: Beginning C# 2008 Databases: From Novice to Professional</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/03/14/book-review-beginning-c-2008-databases-from-novice-to-professional.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/03/14/book-review-beginning-c-2008-databases-from-novice-to-professional.aspx</id><published>2008-03-14T16:57:00Z</published><updated>2008-03-14T16:57:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/1590599004?ie=UTF8&amp;amp;tag=davidhacom-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1590599004"&gt;&lt;img title="Beginning C# 2008 Databases" style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;WIDTH:190px;BORDER-BOTTOM:0px;HEIGHT:190px;" height="190" alt="Beginning C# 2008 Databases" src="http://codebetter.com/photos/david.hayden/images/175368/original.aspx" width="190" align="right" /&gt;&lt;/a&gt;&lt;img style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;MARGIN:0px;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=davidhacom-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1590599004" width="1" border="0" /&gt;Yesterday while&amp;nbsp;hanging&amp;nbsp;at the pool with the kids I finished reading, &lt;a href="http://www.amazon.com/gp/product/1590599004?ie=UTF8&amp;amp;tag=davidhacom-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1590599004"&gt;Beginning C# 2008 Databases: From Novice to Professional&lt;/a&gt;&lt;img style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;MARGIN:0px;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=davidhacom-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1590599004" width="1" border="0" /&gt;.&lt;/p&gt;
&lt;p&gt;I really enjoyed the book, finding it always good to go back and review the basics of ADO.NET with SQL Server. If I were just learning ADO.NET for the first-time, Beginning C# 2008 Databases is a solid introduction to the fundamentals of ADO.NET using C# and T-SQL. It goes into really good detail on the ADO.NET Connected Model: Connections, Commands, DataReaders, Transactions, etc. as well as sprinkles proven practices on&amp;nbsp;recommended use&amp;nbsp;of the connected model&amp;nbsp;with regards to performance and maintainability. There is also a chapter covering the Disconnected Model: DataAdapters, DataTables, DataSets, DataViews, etc.&lt;/p&gt;
&lt;p&gt;I thought one of the last chapters was especially good and useful to new ADO.NET Developers: &lt;strong&gt;Handling Exceptions&lt;/strong&gt;. It showed the proper way to construct a Try / Catch / Finally Block around ADO.NET Code as well as how to&amp;nbsp;catch exceptions and make sure database resources are properly closed and disposed. The chapter also discussed raising errors in SQL Server to better populate exceptions with useful error information.&lt;/p&gt;
&lt;p&gt;There is some interesting sections on how to&amp;nbsp;obtain the schema information about resultsets and table information that can be read from the DataReader. Although the need for such knowledge may not come up a lot, it helps one understand a bit how many of the Visual Designers in Visual Studio get database schema information.&lt;/p&gt;
&lt;p&gt;If you are unfamiliar with&amp;nbsp;SQL Server 2005 Specific features, there is some coverage of ROW_NUMBER, Comon Table Expressions, and the XML Support in SQL Server 2005. The authors also provide code examples of retrieving and inserting text and binary data into SQL Server.&lt;/p&gt;
&lt;p&gt;At the end, there are a couple of introductory chapters on LINQ To SQL and ADO.NET Entity Framework to&amp;nbsp;point you to&amp;nbsp;where things are going, but they are just there as more of a segue to continued learning on data access.&lt;/p&gt;
&lt;p&gt;The are two subjects that were not mentioned in the book that I think&amp;nbsp;could / should&amp;nbsp;have been covered in a beginning-style book:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Writing database agnostic code using DbProviderFactories, DbProviderFactory, etc&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;System.Transactions. There was no coverage of TransactionScope, etc.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I also would have liked the recommended proven-practices called out a bit more. They are there, which is cool, but I wish they were highlighted a bit more so one can easily go back through the text and refer to them.&lt;/p&gt;
&lt;p&gt;Overall, I thought the ADO.NET and T-SQL Coverage in Beginning C# 2008 Databases was really good and easy-to-digest for someone just getting started.&lt;/p&gt;
&lt;p&gt;by &lt;a class="" title="Florida .NET Developer" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;P.S. If you find yourself writing a lot of ADO.NET Code in your applications, you may want to look at the Enterprise Library Data Access Application Block or the LINQ To SQL API that helps you from having to write a lot of the ADO.NET plumbing code.&amp;nbsp;Later you can look at&amp;nbsp;Entity Client and Entity SQL in the ADO.NET Entity Framework that abstracts out the database schema. I actually mention a lot of this in a couple of &lt;a class="" href="http://www.davidhayden.com/presentations.aspx"&gt;upcoming presentations on Data Access Tips &amp;amp; Techniques&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175369" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>Presenting ASP.NET MVC Framework and Data Access Techniques in Sarasota, Florida</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/03/14/presenting-asp-net-mvc-framework-and-data-access-techniques-in-sarasota-florida.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/03/14/presenting-asp-net-mvc-framework-and-data-access-techniques-in-sarasota-florida.aspx</id><published>2008-03-14T14:37:00Z</published><updated>2008-03-14T14:37:00Z</updated><content type="html">&lt;p&gt;&lt;img title="Florida .NET Developer" style="WIDTH:220px;HEIGHT:260px;" height="260" alt="Florida .NET Developer" src="http://codebetter.com/photos/david.hayden/images/175348/original.aspx" width="220" align="right" /&gt;Next Saturday, March 22, 2008 is the &lt;a class="" href="http://www.orlandocodecamp.com/"&gt;Orlando Code Camp&lt;/a&gt;. I will be presenting two sessions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://www.pnpguidance.net/Post/OrlandoCodeCamp2008PresentationIntroductionWCSF2.aspx"&gt;Introduction to the Web Client Software Factory ( WCSF ) v2.0&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://www.pnpguidance.net/Post/OrlandoCodeCamp2008PresentationSQLServerDataAccessTipsTechniques.aspx"&gt;SQL Server Data Access Tips and Techniques&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then on Thursday, April 10, 2008 I will be presenting two more sessions at the &lt;a class="" href="http://www.sarasotadev.net/"&gt;Sarasota .NET Developer Group&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.pnpguidance.net/Post/SarasotaNETDeveloperGroupASPNETMVCFrameworkIntroduction.aspx"&gt;Introduction to the ASP.NET MVC Framework&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Create websites using the new ASP.NET MVC Framework from Microsoft. In this presentation we will discuss how the ASP.NET MVC Framework is different from ASP.NET Webforms as well as the strengths and weaknesses of each. We will create routes, views, controllers, and controller factories as well as discuss different ways to communicate between views and controllers. We will also leverage various IoC Tools, like Castle Windsor and Unity, to inject dependencies into controllers as well as use AJAX with the ASP.NET MVC Framework.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.pnpguidance.net/Post/SarasotaDeveloperGroupLINQToSQLEntityFrameworkADONETDataServices.aspx"&gt;Data Access Tips and Techniques&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn and explore the variety of ways you can access data using ADO.NET, the Data Access Application Block, LINQ To SQL, ADO.NET Entity Framework, ADO.NET Data Services, and the ASP.NET 3.5 Dynamic Data Framework. In this session we will walk-thru and build several examples for each technique as well as discuss tips, strengths, and weaknesses.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I look forward to seeing everyone at the Orlando Code Camp and the April Sarasota .NET Developer Meeting!&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175349" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>Download Mix08 Videos</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/03/09/download-mix08-videos.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/03/09/download-mix08-videos.aspx</id><published>2008-03-10T01:05:00Z</published><updated>2008-03-10T01:05:00Z</updated><content type="html">&lt;p&gt;&lt;img title="Mix08" style="WIDTH:219px;HEIGHT:157px;" height="157" alt="Mix08" src="http://codebetter.com/photos/david.hayden/images/175128/original.aspx" width="219" align="right" /&gt;My daughter downloaded a number of the Mix08 Videos onto my Zune this weekend. If like me you weren&amp;#39;t able to attend Mix08, you can head over to &lt;a href="http://sessions.visitmix.com/"&gt;http://sessions.visitmix.com/&lt;/a&gt;&amp;nbsp;to download them with your favorite Download Manager.&lt;/p&gt;
&lt;p&gt;I actually watched a few of them and gave a little review of each:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/03/09/MIX08VideoPresentationADONETDataServicesFrameworkMikeFlasko.aspx"&gt;MIX08 Video Presentation - ADO.NET Data Services Framework with Mike Flasko&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/03/08/ADONETDataServicesPabloCastroMIX08SessionVideo.aspx"&gt;ADO.NET Data Services with Pablo Castro - MIX08 Session Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/03/08/MIX08PresentationRealWorldAJAXASPNETVideoNikhilKothari.aspx"&gt;MIX08 Presentation : Real-World AJAX with ASP.NET Video by Nikhil Kothari&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/03/07/BuildingGreatAJAXApplicationsASPNET35VisualStudio2008MIX08Presentation.aspx"&gt;Building Great AJAX Applications from Scratch Using ASP.NET 3.5 and Visual Studio 2008 - MIX 08 Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2008/03/06/ASPNETDynamicDataWebsitesPresentationMix08.aspx"&gt;ASP.NET Dynamic Data Websites Presentation at Mix 08&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I enjoyed all the videos, but I am guessing the highlight at Mix must have been the release of Silverlight 2 Beta 1 / Tools and Internet Explorer 8 Beta 1. Microsoft didn&amp;#39;t&amp;nbsp;release any new versions&amp;nbsp;of ADO.NET Data Services and ASP.NET DynamicData Framework and a number of blogs I have been reading suggest many people were not happy with the&amp;nbsp;Mix08 release of the MVC Framework.&lt;/p&gt;
&lt;p&gt;Still, I am convinced I need to attend Mix next year. Too many cool people and cool technologies&amp;nbsp;happening in a cool location :) The new bits for ADO.NET Data Services and ASP.NET DynamicData Framework&amp;nbsp;appear to be&amp;nbsp;just around the corner, too.&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175130" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry><entry><title>ActionFilterAttribute in ASP.NET MVC Framework</title><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/archive/2008/03/05/actionfilterattribute-in-asp-net-mvc-framework.aspx" /><id>http://codebetter.com/blogs/david.hayden/archive/2008/03/05/actionfilterattribute-in-asp-net-mvc-framework.aspx</id><published>2008-03-05T23:16:00Z</published><updated>2008-03-05T23:16:00Z</updated><content type="html">&lt;p&gt;I remember Scott Guthrie mentioning the ability to add filters to your controller actions, so immediately after downloading the ASP.NET MVC Framework Preview 2 I opened up Reflector and found a new &lt;strong&gt;ActionFilterAttribute&lt;/strong&gt; in &lt;strong&gt;System.Web.Mvc&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="ActionFilterAttribute" style="WIDTH:369px;HEIGHT:235px;" height="235" alt="ActionFilterAttribute" src="http://codebetter.com/photos/david.hayden/images/174964/original.aspx" width="369" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Not bothering to see if there is any documentation on it, I decided to give it a whirl with the new ASP.NET MVC Website Template:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="ASP.NET MVC Framework" style="WIDTH:490px;HEIGHT:300px;" height="300" alt="ASP.NET MVC Framework" src="http://codebetter.com/photos/david.hayden/images/174963/original.aspx" width="490" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I pretended the &lt;strong&gt;About Action&lt;/strong&gt; on the &lt;strong&gt;Home Controller&lt;/strong&gt; required an SSL connection and Administrative privileges to be run and added a couple of custom ActionFilterAttributes to it:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="HomeController" style="WIDTH:433px;HEIGHT:338px;" height="338" alt="HomeController" src="http://codebetter.com/photos/david.hayden/images/174966/original.aspx" width="433" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is the sample code for the RequiresSSL ActionFilterAttribute:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="RequiresSSL ActionFilterAttribute" alt="RequiresSSL ActionFilterAttribute" src="http://codebetter.com/photos/david.hayden/images/174967/original.aspx" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is the sample code for the&amp;nbsp;AdminOnly ActionFilterAttribute:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;img title="AdminOnly ActionFilterAttribute" alt="AdminOnly ActionFilterAttribute" src="http://codebetter.com/photos/david.hayden/images/174968/original.aspx" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The key here is that when I set &lt;strong&gt;filterContext.Cancel = true&lt;/strong&gt; it seems to cancel the action so I take advantage of it.&lt;/p&gt;
&lt;p&gt;Note that in the &lt;strong&gt;AdminOnlyAttribute&lt;/strong&gt; I cast the &lt;strong&gt;filter.Controller property&lt;/strong&gt;, which comes in as &lt;strong&gt;IController&lt;/strong&gt;, to &lt;strong&gt;Controller&lt;/strong&gt; for kicks. Obviously&amp;nbsp;this cast could return null, so you may want to go the HttpContext route again to get the roles for the user. I just felt like writing the code a bit differently.&lt;/p&gt;
&lt;p&gt;There is a lot more you can do with ActionFilterAttributes, but this was interesting in itself.&lt;/p&gt;
&lt;p&gt;Hope this helps.&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Florida .NET Developer" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=174971" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden.aspx</uri></author></entry></feed>