Pre-Conference Workshops
DP1From Zero to Team System in 5 "Days"
Richard Hundhausen
Monday, December 8 – 9:00 a.m. – 6:00 p.m.
You've been looking at Visual Studio Team System 2008 for awhile now, but your deliverables come first, and besides Team System looks so complicated! There's just no way you can afford to take a whole iteration or two in order to get everything set up and ready to switch over. Good news: you don't have to. Visual Studio Team System can actually be installed, configured, and everything switched over in just 5 short days. In this session, you'll learn the secret shortcuts that the best consultants use to get your development team up and running quickly. You'll also learn the best practices around installing and tuning Team Foundation Server 2008, artifact migration, training options, and the gotchas you may encounter along the way.
DP2A Day of HANDS-On LINQ: What You Need to Know to Leverage LINQ, XLINQ and DLINQ with .NET 3.5 / C# 3.0
Richard Hale Shaw
Monday, December 8 – 9:00 a.m. – 6:00 p.m.
LINQ is a technology – recently added to the .NET Framework – that will change your programming life. Just as Generics let us represent any type with <T>, LINQ lets you represent -- and manipulate any IEnumerable<T> -- regardless of what <T> is, and where it came from. Consequently, you can use elegant -- almost script-like -- programming techniques to transform, project and manipulate any sequence of objects in a type-safe fashion that's easy to understand and easy to maintain.
Unfortunately, it's the "Q" that makes LINQ difficult to comprehend: you hear "Query" and think, "it's only for Database developers." But LINQ is designed to work in any tier of an N-tiered application, and even lends itself to system-level programming.
So how does LINQ work? What goes on under-the-hood with LINQ, and can you leverage it in Silverlight front-ends, WCF services, Data Access Layers -- and of course -- Middle-tier business logic? In this 1-day HANDS- ON session, Richard will show you how.
We'll start by jumping right into building Linq queries: Selecting, Filtering, Ordering and Grouping. With these and more powerful queries (joining, sub-selects and data transformations), you'll quickly get the idea of how to use Linq using C# 3.0. We'll also discuss how Linq queries – based on the custom iterators introduced with C# 2.0 – leverage deferred execution so that you don't incur the overhead of query until you consume it. We'll also take a quick look at output options: how to emit query results as XML or output to a database. Next, we'll look at the role of C# 3.0, and how the new features in 3.0 evolved from 2.0. You'll learn the new initialization techniques available, and how to "new up" anonymous types on-demand. We'll take a detailed look at extension methods and how they're both implicitly and explicitly used in Linq Queries, but also how you can use them in day-to-day .NET development. And we'll delve into Lambda Expressions, a new way of creating anonymous methods, but easier to read and write. We'll wrap up our C# 3.0 section with auto-implemented properties and partial methods.
The next section will let us explore how Linq is applied to real-world scenarios: querying and updating data from disparate sources like SQL databases, typed and untyped ADO.NET DataSets, and XML documents. We'll look at lots of fine details: how to use Linq to SQL (also known as DLinq) to query and update multiple tables; how to use Linq with existing typed/untyped DataSets – and when you should/shouldn't; how the VS2008 toolset will make so much of this child's play to get work done. We'll also examine Linq to XML, and you'll see how you can easily use it in place of – and along side of – existing code that accesses and updates XML documents. You'll see how you can quickly and easily serialize and de- serialize entire object graphs to and from XML documents cleanly – in a version-independent fashion – without the crud normally inserted by traditional .NET serialization.
Finally, we'll wrap-up with a behind-the-scenes look: what goes on when you create query expressions, how they work, and how .NET Framework 3.5 has been extended to include an entire sub-framework of methods and classes to support Linq. We'll also look at how you can build expressions and queries dynamically to address query needs only known at runtime.
Pre-requisites: you should have a minimum of 1 year experience programming C# 2.0 and .NET 2.0 (Sorry, no hand-holding if you're new to .NET/C#.) If you plan to participate in the hands-on labs, please bring a laptop with VS2008, and either SQL 2008 or SQL Express 2008 (comes with VS2008) installed.
DP3SQL Server 2008 for Developers
Leonard Lobel
Monday, December 8 – 9:00 a.m. – 6:00 p.m.
This full-day workshop will get you ready for SQL Server 2008, whether you’ve already been using SQL Server 2005 or you’re still on SQL Server 2000. Lenni will pull no punches as he rips through the newest capabilities in SQL Server 2008. We’ll begin with an overview of what’s new in SQL Server 2008, and then dive right in to an intensive demo-packed tour of the most important features for developers.
We’ll start with the many exciting enhancements made to T-SQL. Learn how to use table-valued parameters to marshal entire sets of rows across the network from client to server, and to pass them between stored procedures and UDFs. Find out about MERGE, a powerful new DML statement that combines the capabilities of four (or more) separate operations, and INSERT OVER DML, which enhances our ability to capture change data from the OUTPUT clause of any DML statement. Other T-SQL enhancements we’ll cover include the new date and time data types (with time zone awareness), and GROUPING SETS feature for greater flexibility in composing aggregate queries. You’ll need to access your SQL Server 2008 data from .NET applications, and so we’ll examine the plethora of new data access strategies available with the .NET Framework 3.5 SP1. You’ll learn the mechanics of language-integrated query (LINQ), and compare conventional ADO.NET with LINQ To SQL and the ADO.NET Entity Framework -- two new technologies which bring greater object relational mapping (ORM) capabilities to .NET.
The new “beyond relational” features in SQL Server 2008 will get you thinking outside the box with respect to the types of data that can be managed by a relational database system. Learn how to use the new hierarchyid data type to cast a hierarchical structure over any relational table. With FILESTREAM, database developers can finally enjoy the native ability to store large binary objects in the file system transparently, and with full transactional capabilities. The new geospatial data types enable you to integrate location-intelligence into the database, and we’ll build several location-aware applications on top of these new data types. And we’ll also examine enhancements made to native XML support. The coverage continues as we turn our attention to the powerful new enterprise-level data warehousing and security features including Change Data Capture, SQL Server Audit and Transparent Data Encryption. We’ll finish up with SQL Server 2008 Reporting Services, from designing reports with the new tablix layout to delivery using a variety of deployment methods. You’ll learn a ton of new SQL Server features in this information-packed day!

