Linq to SQL is an object relational mapper (ORM) that is included in .NET 3.5. The Linq to SQL designer allows you to create objects from you database tables simply by dragging the tables from the server explorer to the design surface. You can customize the generated types in the designer or write code in partial classes. Once you have defined your model, you can query it with Linq syntax and the SQL provider will generate the appropriate database calls for you.
One limitation of Linq to SQL is a given object can only be populated from one table. This means that your object will map almost one to one with your database tables. For anything but the simplest applications, you don't want to work with the database tables. For these situations, you could use Linq to SQL to populate domain objects. Keep in mind that there is a performance overhead in creating these objects as opposed to using raw ADO.NET. Rico Mariani has a good series of blog posts about Linq to SQL performance, but I suggest profiling your application if you think it will be a problem.