The History of .NET Framework — Part 5 (.NET Framework 3.5 (2007): The LINQ Era Begins)
.NET Framework 3.5 (2007): The LINQ Era Begins
Released: November 2007
.NET Framework 3.5 was a landmark release that changed how developers wrote C# code on a daily basis.
While it still ran on the .NET 2.0 CLR (like 3.0), it introduced powerful language and library features that made code more expressive, concise, and readable.
Language Integrated Query (LINQ)
The headline feature of .NET 3.5 was LINQ. It brought native query capabilities directly into C# and VB.NET.
- Query collections with SQL-like syntax
- Strongly typed queries
- Compile-time validation
- IntelliSense support
LINQ worked across objects, databases, XML, and more, unifying how developers handled data.
Lambda Expressions
Lambda expressions enabled inline, anonymous functions, making functional-style programming easier in C#.
- Concise delegate definitions
- Cleaner event handling
- Core building block for LINQ
Extension Methods
Extension methods allowed developers to "add" methods to existing types without modifying them.
This feature made LINQ’s fluent syntax possible and encouraged more modular library design.
New Base Class Libraries
.NET 3.5 introduced System.Core
and several LINQ-related namespaces.
- System.Linq
- System.Xml.Linq (LINQ to XML)
- Enhanced collections support
ASP.NET AJAX Integration
ASP.NET AJAX became part of the core framework, enabling richer, more responsive web applications.
- Partial page updates
- ScriptManager integration
- Improved client-side interactivity
The Bigger Picture
.NET 3.5 marked the shift toward more declarative, data-centric programming.
Features like LINQ and lambdas still influence modern C# and remain core to .NET development today.