LINQ to SQL is a component found in the .NET Framework version 3.5 and higher. It provides a run-time infrastructure for mapping relational data as objects. This component maps the data model of a relational database to an object model expressed in code. LINQ to SQL translates LINQ queries written in C# or Visual Basic into SQL queries that execute on the server and returns objects to work with in your application.
By using LINQ to SQL you can access SQL databases as you would an in-memory collection. It allows you to write queries in .NET to allow inserting, updating and deleting of information from database tables just as you would in the SQL database. As a result you can work with a strongly typed collection of objects, make changes to these objects and save these changes back to the database.
Here are some of the main features of LINQ to SQL:
• API for accessing SQL Server databases
• LINQ query language to write queries in C# or VB
• Creates strongly typed object wrappers for database objects
• Changes to objects persist back to database
• Allows you to create databases and tables from objects in code
• Built-in diagnostics
Part II: Modeling Databases using LINQ to SQL