LINQ to SQL enables you to model classes that map
to/from a database. These classes are typically referred to as
"Entity Classes" and instances of them are called
"Entities". Entity classes map to tables within a
database. The properties of entity classes typically map to the table's
columns. Each instance of an entity class then represents a row within
the database table.
Entity classes defined with LINQ to SQL do not have to
derive from a specific base class, which means that you can have them inherit
from any object you want. All classes created using the LINQ to SQL
designer are defined as "partial classes" - which means that you can
optionally drop into code and add additional properties, methods and events to
them.
Unlike the DataSet/TableAdapter feature provided in VS 2005,
when using the LINQ to SQL designer you do not have to specify the SQL
queries to use when creating your data model and access layer.
Instead, you focus on defining your entity classes, how
they map to/from the database, and the relationships between them. The
LINQ to SQL OR/M implementation will then take care of generating the
appropriate SQL execution logic for you at runtime when you interact and use
the data entities. You can use LINQ query syntax to expressively indicate
how to query your data model in a strongly typed way.