| |
Programming C# Extended Features: Hands-On
|
Streamlining Data-Centric Applications with LINQ
|
Frequently Asked Questions
What is this course about?This course offers complete coverage of all C# extended features, including LINQ for data manipulation. You gain experience maintaining the inherent object-oriented structure and learn how to map it to the relational paradigm. You also learn how to use specialised C# keywords such as yield and delegate, as well as with the lambda expression operator (=>).Who will benefit from this course?This course is valuable for experienced programmers and software engineers who want to improve their software development capabilities by using the new and extended C# language features. What are extended features?C# extended features are capabilities to support development that go beyond the traditional object-oriented usage needed for typical Web or Windows Forms applications. In particular, Language Integrated Query (LINQ) allows C# to be used as a data-manipulation language, without having to write the labor-intensive and low-level code yourself.Are there other extended features?Yes. Although LINQ is the major enhancement, there are a number of other capabilities that allow C# to be used in atypical ways. Most of these were added in C# 3.0 and include lambda expressions, auto-implemented properties, object-initialisers, extension method and anonymous types.What is LINQ?Language INtegrated Query (LINQ) provides a full capability for managing database access within C#.
A series of "query keywords" extend the syntax and semantics of the C# language. The entity framework also supports the infrastructure for object-relational translation including update, insert, delete and implicit support for identity maps.
What background do I need?This is an advanced C# course. Attendees should have practical hands-on experience with the C# language at the level of Course 419, C# Programming: Hands-On. For example, you should know how to:
Construct, compile and execute C# Windows Forms and/or Web applications using the Visual Studio integrated environment
Design and implement a modestly complex (1000+ lines) program in the C# language
Apply solid object-oriented development techniques including encapsulation, inheritance, interfaces and polymorphism
Produce applications that employ key parts of the .NET framework library
I attended Course 502, Programming with .NET: A Comprehensive Hands-On Introduction. Can I attend this course?Course 502 provides an introduction to programming and covers only some features of the C# language. Course 973 is an advanced C# class and requires a broader knowledge of and experience with C#, object-orientation and components. Course 419, C# Programming: Hands-On, or equivalent experience is the recommended prerequisite. Does this course show the Visual Basic dialect of LINQ?No. This course is specifically designed to leverage C# syntax. If you have a Visual Basic background, you should instead consider Course 974, Programming Visual Basic® Extended Features: Hands-On.Do I need to know SQL to attend this course?Knowledge and experience of SQL is helpful but is not required. The LINQ data-manipulation dialect is similar in some respects to SQL, but it is quite different both in syntax and semantics. The usage of LINQ query keywords are explained fully in this course.What versions of C#, .NET Framework and Visual Studio are used in this course?C# 3.0, .NET Framework 3.5 and Visual Studio 2008 are used in this course.I use an earlier version of C# and/or Visual Studio. Will this course be useful for me?Most of the extended features discussed in this course are from C# 3.0 and Visual Studio 2008 and cannot be used with older versions. However, this course is beneficial to any developer who is planning to upgrade to C# 3.0 and Visual Studio 2008 and wants to get an advanced look at these new C# capabilities.What is the .NET Framework?The .NET Framework is a programming platform that allows you to build Windows and Web applications that run on Microsoft operating systems.
The .NET Framework 3.0 added the following technologies to .NET 2.0: Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF) and Cardspace. The .NET Framework 3.5 added Language INtegrated Query (LINQ). Technically, .NET 3.0 is not covered in this course because we do not cover WCF, WPF, WF or Cardspace. LINQ, new to .NET 3.5, is covered extensively in this course.
For courses that focus on technologies that were new with .NET 3.0, you may be interested in Course 513, Windows® Communication Foundation (WCF): Developing SOA Applications, or Course 514, Windows® Workflow Foundation (WF): Hands-On.
What tools are used in this course?In addition to C# 3.0, .NET 3.5 and Visual Studio 2008, this course uses SQL Server 2005 Express with the SQL Server Management Studio Express.How much time is spent on each topic?| Content | Hours | | Introduction | 1.5 | | Harnessing new C# language features
| 2.5 | | Employing extension methods for middle-tier data manipulation
| 2.0 | | Leveraging LINQ query keywords
| 4.0 | | Adapting LINQ to SQL
| 6.0 | | Enumerations and generic classes
| 3.0 | | Processing data with LINQ queries
| 2.0 | | Applying LINQ to stored procedures
and XML | 2.0 | Times, including the workshops, are estimates; exact times may vary according to the needs of each class.How much of this course is hands-on?About 40 percent of class time is spent performing hands-on exercises. Exercises include:Writing lambda expressions and extension methods for middle-tier list manipulation
Implementing the data-tier with LINQ
Employing DataContext objects and LINQ query keywords to access and update a database
Mapping entity classes using the O/R Designer
Achieving dynamic enumerations with yield
Parsing XML documents using LINQ
Installing C#/LINQ stored procedures
How does this course relate to Course 974, Programming Visual Basic® Extended Features: Hands-On?This course is geared toward C# programmers while Course 974 is aimed at Visual Basic programmers. However, this is more than just the same course in a different language. LINQ in Visual Basic has a different syntax than in C#, and it has many additional query keywords. Because of the additional keywords, Course 974 spends more time on the specific use of LINQ queries.
In C#, LINQ has the same capabilities but some functions are achieved using lambda expressions and/or extension methods. Further, this course focuses more on object-to-relational mapping and maintaining the object-oriented paradigm.
How does this course relate to other courses?This course is closely related to the following courses:Additional courses you may be interested in include: |
|
|