Part 1 - Introduction
Over the last few months I wrote a series of blog posts that covered some of the new languagefeatures that are coming with the Visual Studio and .NET Framework "Orcas" release. Hereare pointers to the posts in my series:
Automatic Properties, Object Initializer and Collection Initializers
Anonymous Types The above language features help make
a first class programming concept. Wecall this overall querying programming model "LINQ" - which stands for
.NET Language Integrated Query
.Developers can use LINQ with any data source. They can express efficient query behavior intheir programming language of choice, optionally transform/shape data query results intowhatever format they want, and then easily manipulate the results. LINQ-enabled languagescan provide full type-safety and compile-time checking of query expressions, anddevelopment tools can provide full intellisense, debugging, and rich refactoring support whenwriting LINQ code.LINQ supports a very rich extensibility model that facilitates the creation of very efficientdomain-specific operators for data sources. The "Orcas" version of the .NET Framework ships with built-in libraries that enable LINQ support against Objects, XML, and Databases.
What Is LINQ to SQL?
LINQ to SQL is anO/RM(object relational mapping) implementation that ships in the .NETFramework "Orcas" release, and which allows you to model a relational database using .NETclasses. You can then query the database using LINQ, as well as update/insert/delete datafrom it.LINQ to SQL fully supports transactions, views, and stored procedures. It also provides aneasy way to integrate data validation and business logic rules into your data model.
Modeling Databases Using LINQ to SQL:
Visual Studio "Orcas" ships with a LINQ to SQL designer that provides an easy way to modeland visualize a database as a LINQ to SQL object model. My next blog post will cover inmore depth how to use this designer (you can alsowatch this videoI made in January to seeme build a LINQ to SQL model from scratch using it).Using the LINQ to SQL designer I can easily create a representation of the sample"Northwind" database like below: