LINQPad supports everything in C# 3.0 and Framework 3.5:

  • LINQ to SQL
  • LINQ to Objects
  • LINQ to XML

LINQPad is also a terrific tool for learning LINQ: it comes preloaded with 200 examples from the recently released C# 3.0 in a Nutshell.  There’s no better way to experience the coolness of LINQ and functional programming.


Visual Studio 2008 Training Kit Videos Sessions


Aavailable on Channel 9

New additions to BCL


  • DateTimeOffset is a new date time data structure that specifies an exact point in time relative to the UTC time zone.  It is made up of a date time and offset relative to the UTC time zone.  DateTimeOffset includes most of the functionality of the current DateTime and allows seamless conversion to DateTime.  DateTimeOffset also works great with TimeZoneInfo which is also new in .NET 3.5. DateTimeOffset becomes the preferred format in NET 3.5
  • Pipes
    • Anonymous Pipes are character-based and are half-duplex.  They cannot communicate over the network and support only a single server instance.  These pipes are most useful for communication between threads or between parent and child processes where the pipe handles can be easily passed when the child process is created.
    • Named pipes are far more powerful than anonymous pipes.  They can be duplex, over the network, and can support multiple server instances of a single name, making them ideal for quick-to-build, and easy to connect to, multithreaded servers.  Furthermore, they support message based communication so that a reading process can read varying-length messages precisely as sent by the writing process.  Finally, named pipes support impersonation allowing connecting processes to use their own set of permissions on remote servers.

    • Pipes are a lower level channel the WCF could be built on top of. WCF actually has its own internal pipe implementation that it uses to achieve IPC.  In the future, WCF may switch to using the public pipe implementation that we’re now providing.

  • HashSet<T> is an unordered collection containing unique elements. It has the standard collection operations Add, Remove, Contains, but since it uses a hash-based implementation, these operation are O(1). (As opposed to List<T> for example, which is O(n) for Contains and Remove.) HashSet also provides standard set operations such as union, intersection, and symmetric difference.

Via BCL Team Blog

Coding4Fun Developer Resources for Visual Studio 2008

Coding4Fun Developer Kits!

  • The C4F Developer Kit is an offering of 20+ components and controls that offer developers a great opportunity to create cool, fun applications with technology that may be otherwise too complex or require countless hours of research and coding.  The toolkit hosts controls for things like Bluetooth, Speech, TAPI, Calendar and much, much more.  We’ve rolled this out on CodePlex ( to allow the community to share and add to it. 
    • e.g. Web Services
      Managed code wrappers for sites like:

      • Yahoo Traffic
      • Flickr
      • MySpace
      • Craig’s List
      • Delicious
      • Digg
      • YouTube
      • And more
  • The C4F Vista P2P Toolkit offers developers the ability to create peer-to-peer applications for WinForms and WPF with no lines of codeBuilt on top of the WCF, we created a set of controls that developers simply drag ‘n drop on their design surface and simply select from the Smart Tags which pieces to hook up.  They have prebuilt controls for Chat, file sharing and streaming audio and video.  This too can be found on CodePlex ( 
  • Finally, to bring the above apps & samples altogether, we’ve created the C4F Dashboard which is part of the C4F Developer Kit.  This simple WPF application allows developers to launch the samples, source code or documents for a single dashboard.  

Via Visual Studio 2008 is released and much more

Deleting rows from a table with an Identity Column

If you delete all the records from a table it won’t reset the identity.

To reset the identity seed you need to use a DBCC command.

// DBCC CHECKIDENT (table_name, RESEED, new_reseed_value)
Setting new_reseed_value to 0 will cause the next INSERT with an identity = 1
This T-SQL applies to MS SQL Server 2000+

ASP.NET MVC Framework

Here is a list of some of the best links: ASP.NET MVC Link collection

Microsoft ASP.NET 3.5 Extensions Preview

Download the ASP.NET 3.5 Extensions Preview | Readme | Quickstarts | Discuss in Forums



ASP.NET MVC provides model-view-controller (MVC) support to the existing ASP.NET 3.5 runtime, which enables developers to more easily take advantage of this design pattern. Benefits include the ability to achieve and maintain a clear separation of concerns, as well as facilitate test driven development (TDD).

The ASP.NET MVC Toolkit provides HTML rendering helpers and dynamic data support for MVC.

ASP.NET Dynamic Data

ASP.NET Dynamic Data helps developers build a fully customizable, data-driven app quickly. It provides a rich scaffolding framework that allows rapid data driven development without writing code, yet it is easily extendible using the traditional ASP.NET programming model.


New additions to ASP.NET AJAX include support for managing browser history (Back button support).

ADO.NET Entity Framework

ADO.NET Entity Framework is a new modeling framework that enables developers to define a conceptual model of a database schema that closely aligns to a real world view of the information. Benefits include easier to understand and easier to maintain application code that is shielded from underlying database schema changes.

ADO.NET Data Services

ADO.NET Data Services provide new services that find, manipulate and deliver data over the web using simple URIs. Benefits include an easy and flexible way to access data over the web, while enabling the separation of presentation and data access code.

Silverlight Controls for ASP.NET

You can integrate the rich behavior of Microsoft Silverlight into your Web application by using two new ASP.NET server controls: a MediaPlayer server control that enables easy integration of media sources such as audio (WMA) and video (WMV) into your Web application, and a Silverlight server control that allows an ASP.NET page to reference both XAML objects and their event handlers.


  • Introduction to ASP.NET Dynamic Data:
    Learn how the ASP.NET 3.5 Extensions Preview enables rapid data driven site development with ASP.NET Dynamic Data and its rich scaffolding framework. Duration: 16 minutes, 42 seconds.
    Watch the video  |  Download the video
  • ADO.NET Data Services with ASP.NET AJAX Support:
    Find out how ADO.NET Data Services can be integrated with ASP.NET AJAX support seamlessly. Duration: 12 minutes, 42 seconds.
    Watch the video  |  Download the video
  • Introduction to ASP.NET MVC December CTP:
    Scott Hanselman builds an application step-by-step using the first CTP of the ASP.NET MVC Framework in this Introductory Video. Duration: 42 minutes, 5 seconds.
    Watch the video  |  Download the video
  • Introduction to ASP.NET Ajax History:
    Learn how the ASP.NET Extensions Preview allows control over the Browser back button in Ajax. Duration: 14 minutes, 41 seconds.
    Watch the video  |  Download the video
  • Introduction to the ASP.NET MediaPlayer Control:
    Learn how the ASP.NET Extensions Preview makes it very easy to host Silverlight media on a website. Duration: 14 minutes, 41 seconds.
    Watch the video  |  Download the video



MUST READ – ASP.NET MVC Framework (Part 0) (Part 1)  (Part 2)  (Part 3)  (Part 4)

New ASP.NET Dynamic Data Support

David Ebbo

Dynamic Data Screencast (17mins)

Troy Goode

ASP.NET MVC Membership Controller & View


DevConnections and PNPSummit MVC Demos Source Code

ASP.NET 3.5 Extensions – plus MVC How-To Screencast

  • TDD and Dependency Injection with the ASP.NET MVC Framework
  • Writing Unit Tests for Controller ActionsBrad Abrams  RSS Feed with the new ASP.NET MVC Framework

    NET Web Product Roadmap (ASP.NET, Silverlight, IIS7)

  • LINQ to XML RTM docs

    Getting Started (LINQ to XML)

    Provides introductory information about LINQ to XML, including a conceptual overview and an overview of the System.Xml.Linq classes.

    Programming Guide (LINQ to XML)

    Provides conceptual and how-to information about programming with LINQ to XML.

    Reference (LINQ to XML)

    Provides pointers to the LINQ to XML managed reference documentation.

    Samples (LINQ to XML)

    Provides sample applications for LINQ to XML.