CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

David Hayden [MVP C#]

         .NET Tutorials, Patterns, and Practices
  • Unity 1.1 Released and Included in Enterprise Library 4.0

    Nothing scarier than hearing about Unity 1.1 being released after Enterprise Library 4.0, but rest assured Unity 1.1 is included with Enterprise Library 4.0.

    Unity 1.1 fixes a few bugs and has other enhancements:

    • Removal of all obsolete ObjectBuilder code.
    • Fix for a bug when using lifetime managers with open generic types.
    • Fix for a bug where the RegisterType method was overriding the RegisterInstance method.
    • Performance improvement when resolving singletons.
    • Exposure of some additional internal classes as public to make it easier write extensions that need to resolve dependencies in a customized way.
    • Addition of try...catch blocks to improve the error messages returned when value resolution fails.

    You can download Unity 1.1 here.

    More importantly, however, I had a chance to play with Enterprise Library 4.0 and Unity this evening and created a tutorial that shows you how to use Unity with the Data Access Application Block:

    The other application blocks work similarly so hopefully the tutorial gives you an idea on how it all works.

     

  • Enterprise Library 4.0 Released with Unity IoC Integration

    I was wondering just the other day when Enterprise Library 4.0 might be released and low and behold today was the day.

    There are no new application blocks with Enterprise Library 4.0, but there are a few enhancements to existing blocks and the much anticipated Unity IoC Integration. If you so desire, you can now use Unity to wire up your application blocks when using Enterprise Library in your applications. This is, of course, optional. You can use the existing configuration model that has been at the core of Enterprise Library since 2.0 and replaced the Configuration Application Block.

    You can download Enterprise Library 4.0 here. I recommend you visit the landing page to learn about all the particulars of Enterprise Library 4.0.

    If you are a veteran Enterprise Library developer, it is essentially business as usual unless you choose to use Unity for configuration and you haven't played with it yet. For more information on Unity, I have a couple of Unity Screencasts and a number of Unity Tutorials on PnPGuidance:

    Unity is pretty simple to use as dependency injection / IoC tools go.

    Over the years I have probably written well over 50 - 100 tutorials on Enterprise Library. Down right pathetic as to how much I have written on Enterprise Library actually :) It was a great learning experience, however. For the most part all of the tutorials still apply, so if you are just learning Enterprise Library feel free to go through them. Even though I broke them down into Enterprise Library 2.0 Tutorials and Enterprise Library 3.0 Tutorials, the information is still accurate for Enterprise Library 4.0 with possibly a few exceptions.

    I often get asked where to start with all the tutorials, so I usually just point people to the following introductory tutorials that focus on the fundamentals for about each application block.

    You can also find some Enterprise Library Tutorials on PnPGuidance.

    Hope this helps,

    Dave

  • Visual Studio 2008 SP1 "Background Compiling" for C#

    I don'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 "Background Compilation" ), but Scott Guthrie provides the following description:

    "The C# code editor now identifies and displays red squiggle errors for many semantic code issues that previously required an explicit compilation to identify.  For example, if you try to declare and use an unknown type in the C# code-editor today you won't see a compile error until you do a build.  Now with SP1 you'll see live red squiggle errors immediately (no explicit compile required):"

    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 not running the Visual Studio 2008 SP1 Beta just to make sure this background compilation wasn't already being done in Visual Studio 2008.

    I didn'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.

     

     

     

    This is worth Visual Studio 2008 SP1 alone. And, no, I don't know what performance impact this has on large projects :)

     

    Recent Visual Studio 2008 SP1 Beta Posts:

     

  • Book Review: C# in Depth

    While hanging at the pool last night with the kids, I finished an excellent book on C# by Jon Skeet, called C# in Depth: What you need to master C# 2 and 3. The book is about 370 pages, but feels like twice that size base on 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 as to why you are using certain features as you develop.

    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 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.

    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.

    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'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.

    Last, C# In Depth gives you a quick introduction of LINQ and its flavors of LINQ To Objects, LINQ To Datasets, and LINQ To SQL. This isn't a LINQ book, so you're not getting in-depth coverage in these areas, but rather just an introduction to give you a taste for applying the C# features covered as they pertain to LINQ. Think of the coverage as a transition to a book on LINQ.

    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'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 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 :)

    I highly recommend C# in Depth for anyone wanting a better grasp of the C# language.

    by David Hayden

  • MacBook Pro, iWork, Expression Studio 2 and other Rumblings...

    I have been quiet the past couple of weeks on CodeBetter. Truth be told I had nothing really "CodeBetter" worthy to say ( and still don'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.

    No real reason to purchase the Mac over another laptop other than I was just looking for a little adventure. From time-to-time you need to burst that self-made bubble where you are comfortable, and head in an unknown direction where you can feel the excitement of 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, you just stop growing as a developer and a person.

    So here I am two months into my MacBook Pro and I still feel green, but I am being very productive andI am having loads of fun as I get to play with some tools and toys that make me feel a little more worldly so-to-speak.

     

    VMware Fusion

    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 ).

    I talk about this in a couple of posts, but you can find similar information all over the web:

     

    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.

     

    Apple iWork '08

    I had a couple of presentations to give the other day to a new client and I took a gamble on moving some of my Powerpoint Presentations to Keynotes:

    I am not an adept Powerpoint user. However, I tell you what, Keynotes 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.

    I haven'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.

     

    Expression Studio 2

    I am actively trying to use Expression Studio in my day-to-day tasks to replace my 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.

    My first thoughts are to use Expression Design 2 and Expression Web 2 which I talk about here-

    At this point, I realize Expression Design 2 will not do. It is a good product for vector graphics, but I can't do much with it in terms of bitmap or pixel graphics. It doesn't have the tools.

    I just started playing with Expression Web 2, so I don't have much to say on it at the moment other than the FTP Site Publisher is questionable. Even Coda for Mac Web Development is better at publishing sites at $79, but I need to dig into Expression Web 2 a bit more.

    I am thinking about just trying 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.

     

    Conclusion

    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 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's nice to have others to bounce ideas off of and share experiences.

     

    Dave

  • Presentation Recap: ASP.NET MVC Framework - Unity IoC - Data Access Tips & Techniques

    Sarasota .NET DeveloperI presented a number of topics at the Sarasota Florida .NET Developer Group on Thursday Evening. I gave two 1-hour presentations:

    and we hit a number of newer technologies in the span of two hours:

    • ASP.NET MVC Framework
    • Unity IoC with ASP.NET MVC Framework
    • ADO.NET Fundamentals and Best Practices
    • Enterprise Library Data Access Application Block
    • LINQ To SQL and LINQ To SQL API ( Executing Commands, Queries, Stored Procedures )
    • ASP.NET Dynamic Data
    • ADO.NET Entity Framework ( Entity Client, Object Services, LINQ To Entities )
    • ADO.NET Data Services ( using LINQ To SQL, Custom BookCollection Class, and AJAX )

    Thanks to everyone who attended and for all the great feedback on the presentations and examples.

    Here are a few links I have mentioned in the past for those who attended and are looking for more information.

    I have some LINQ To SQL Tutorials and ASP.NET Dynamic Data Tutorials that I put together in the past. I mentioned the new drop of ASP.NET Dynamic Data on Code Gallery. I recommend watching David Ebbo's Mix 08 Video: ASP.NET Dynamic Data Websites Presentation at Mix 08.

    There are a couple of additional MIX 08 Videos I saw that are worth watching on ADO.NET Data Services:  ADO.NET Data Services with Pablo Castro and ADO.NET Data Services with Mike Flasko.

    Make sure you download ASP.NET MVC Preview 2 and Unity 1.0. Check out Scott Hanselman's ASP.NET MVC in Action Videos. I put together an ASP.NET MVC with Unity Screencast, which mirrors the walk-thru I did during the presentation. I mentioned the MVCContrib Project for IoC Containers and View Engine Examples with the ASP.NET MVC. Although there is nothing there yet, I also mentioned the UnityContrib Project is kicking-off.

    Have a great weekend. Again, thanks for attending!

  • Book Review: LINQ in Action

    LINQ in ActionI read another excellent book on LINQ recently, called LINQ in Action, 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:

    • Anonymous Types
    • Expression Trees
    • Extension Methods
    • Implicity Typed Local Variables
    • Lambda Expressions
    • Object and Collection Initializers
    • Query Expressions
    • Query Operators
    • LINQ To Objects
    • LINQ To Xml
    • LINQ To SQL
    • etc...

    you will enjoy reading LINQ in Action.

    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 "Hello World" to get your brain in tune with what is to come and the gist of the technology. The introduction gets you craving for more.

    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.

    LINQ in Action then dives into the standard query operators so you can get a feel for querying across all flavors of LINQ, whether you want to query against in-memory objects, XML, or a database.

    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 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.

    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.

    I avoided the LINQ To XML coverage as I generally avoid XML topics :), only to come back to it with a real-world problem and found the solution 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 :)

    The end of the book has some examples on extending LINQ, LINQ in every layer as well as the dilemma of how we deal with LINQ To SQL in the data access layer- do we go RAD or do we implement a properly encapsulated LINQ To SQL Data Access Layer per Ian Cooper's excellent Architecting LINQ To SQL Applications Series?

    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 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 could use a 3rd book in the saga of Domain-Driven Design and Applying Domain-Driven Design and Patterns that filled in many of the gaps, I could use a solid book on implementing LINQ To SQL in the Data Access Layer. I am about 90% there, but the Repository Pattern abstraction is hurting 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 :)

    I highly recommend LINQ In Action, It is enjoyable to read as well as a good reference for your development.

    by David Hayden

  • Unity IoC and ASP.NET MVC Framework Screencast

    Unity IoC and ASP.NET MVC FrameworkBased on several requests, I created a new screencast that shows one step-by-step how to add the Unity IoC Container from Microsoft Patterns & Practices to an ASP.NET MVC Web Application to create controllers and inject their dependencies.

    Unity IoC - Dependency Injection in ASP.NET MVC Framework Screencast

    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:

    Unity Dependency Injection IoC Screencast

     

    Here are some links to sample code on Unity regarding what you see in the screencasts:

     

    Hope this helps.

    Dave

  • Enterprise Library 4.0 CTP Available

    Microsoft Patterns & Practices released the Enterprise Library 4.0 CTP. You can download it here.

    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.

    It is nice to at least see the following two fixes as mentioned in the change log:

    • 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 partial trust environment. 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.
    • The [Logging] application block now allows you to specify that the RollingFlatFileTraceListener will start a new file at midnight every day. To use this behavior, set the value of the RollInterval property of the RollingFlatFileTraceListener to Midnight.

    When Enterprise Library 4.0 is officially released, it will also have optional support for using Unity IoC to wire up the various application blocks.

    If you haven't used Enterprise Library, I have numerous Enterprise Library 2.0 Tutorials and Enterprise Library 3.0 Tutorials that I have put together over the past couple of years that may be worth reading.

  • Visual Studio 2008 Tips: Implement Interface Regions and Organize Usings Settings

    Awhile back I wrote a quick tutorial on how to optimize using statements in Visual Studio 2008 similar to ReSharper:

    Visual Studio 2008 Tip: Resolving Namespaces and Removing Unused Using Statements

    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't like the defaults:

     

    Visual Studio 2008 Tips

     

    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:

     

    Visual Studio 2008 Implement Interface

     

    The methods generated won't have a region around them if you uncheck the checkbox highlighted above ( Surround generated code with #region ).

     

    Recent Visual Studio 2008 Mentionables:

     

  • Orlando Code Camp Rocked - WCSF and Data Access Tips and Techniques Presentations

    Orlando Code CampThe Orlando Code Camp was this past Saturday and was well worth the 4 hour round trip from Sarasota to both present and attend some really cool sessions on .NET Development. The location was awesome, the event was perfectly organized, and the florida developer community is always cool!

    I gave two presentations: Introduction to the Web Client Software Factory v2.0 and SQL Server Data Access Tips and Techniques. Thanks to all who attended and for the positive feedback on the presentations.

     

    Introduction to the Web Client Software Factory v2.0

    This presentation was similar to the presentation I gave at the Day of Patterns & Practices 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:

    • Visual Studio 2008 WCSF Guidance Package Walk-Thru.
    • Using the 3 new AJAX Guidance Bundles: AutoComplete Guidance Bundle, Validation Guidance Bundle, and Search Guidance Bundle.
    • Adding the AJAX Guidance Bundles into the ASP.NET Dynamic Data Framework.
    • Using the Composite Web Application Block ( CWAB ) without the Guidance Package.
    • Integrating the CWAB with the ASP.NET MVC Framework Preview 2 for dependency injection, pluggable business modules, etc.

    You can view a screencast I did that summarizes a similar presentation from the Day of Patterns & Practices:

    Day Of Patterns & Practices Screencast - WCSF AJAX DynamicData ASP.NET MVC Framework

    To get up to speed on WCSF, I recommend visiting the WCSF CodePlex Community. For further information, I created several WCSF Screencasts that walk you through using it.

     

    WCSF AJAX Guidance Bundles

     

    Search Bundle 

     

    Shopping Cart

     

     

    SQL Server Data Access Tips & Techniques

    I love presenting this session because it introduces a lot of really cool technologies associated with data access:

     

    This presentation is almost entirely done from scratch.

    In addition to using LINQ To SQL, I show how to customize the ASP.NET Dynamic Data Framework using the WCSF AJAX Guidance Bundles, similar to the WCSF Presentation. You can'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:

     

    ASP.NET Dynamic Data

     

    I added a couple of new demos to the ADO.NET Data Services 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:

     

    ADO.NET Data Services

     

    Conclusion

    Thanks again to everyone who took part in organizing the event. I had a lot of fun.

    On Thursday, April 10th, 2008, I will be at the Sarasota .NET Developer Group Meeting presenting on:

    Hope to see you there!

     

  • When Sticky Notes Go Bad...

    There is a Visual Studio 2008 Add-In 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 evil 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 ).

    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!

    I can't wait to see if she returns to the crime scene tonight to look for a response :) I guess I'll do some laundry while working in the meantime ;)

  • New Unity IoC Screencast

    Unity IoC ScreencastI created a new Unity IoC Screencast 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.

    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:

    • Creating Types Not In Container
    • Registering and Resolving TypeMappings
    • Registering and Resolving Named TypeMappings
    • Singletons, LifetimeManagers, and the ContainerControlledLifetimeManager
    • Registering Existing Instances
    • Injecting Dependencies into Existing Instances
    • Populating UnityContainer via App.config / Web.config
    • Specifying Dependencies via Injection API as opposed to Dependency Attributes
    • Using Nested ( Parent-Child ) Containers

     

    Hope this helps.

    Download the Unity IoC Screencast.

     

  • Book Review: Beginning C# 2008 Databases: From Novice to Professional

    Beginning C# 2008 DatabasesYesterday while hanging at the pool with the kids I finished reading, Beginning C# 2008 Databases: From Novice to Professional.

    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 recommended use of the connected model with regards to performance and maintainability. There is also a chapter covering the Disconnected Model: DataAdapters, DataTables, DataSets, DataViews, etc.

    I thought one of the last chapters was especially good and useful to new ADO.NET Developers: Handling Exceptions. It showed the proper way to construct a Try / Catch / Finally Block around ADO.NET Code as well as how to 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.

    There is some interesting sections on how to 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.

    If you are unfamiliar with 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.

    At the end, there are a couple of introductory chapters on LINQ To SQL and ADO.NET Entity Framework to point you to where things are going, but they are just there as more of a segue to continued learning on data access.

    The are two subjects that were not mentioned in the book that I think could / should have been covered in a beginning-style book:

    • Writing database agnostic code using DbProviderFactories, DbProviderFactory, etc
    • System.Transactions. There was no coverage of TransactionScope, etc.

    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.

    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.

    by David Hayden

     

    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. Later you can look at 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 upcoming presentations on Data Access Tips & Techniques.

     

  • Presenting ASP.NET MVC Framework and Data Access Techniques in Sarasota, Florida

    Florida .NET DeveloperNext Saturday, March 22, 2008 is the Orlando Code Camp. I will be presenting two sessions:

     

    Then on Thursday, April 10, 2008 I will be presenting two more sessions at the Sarasota .NET Developer Group:

    Introduction to the ASP.NET MVC Framework

    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.

     

    Data Access Tips and Techniques

    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.

     

    I look forward to seeing everyone at the Orlando Code Camp and the April Sarasota .NET Developer Meeting!

More Posts Next page »

This Blog

Syndication

News

CodeBetter.Com Home