O'Reilly logo

Programming ASP.NET 3.5, 4th Edition by Jesse Liberty, Dan Hurwitz, Dan Maharry

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

LINQ to SQL

Let’s move on to databases, which most likely are the main data source for your website. Microsoft includes a LINQ provider for talking to SQL Server with .NET v3.5, along with a couple of other tools for use in VS2008 to make your life a bit simpler, including a LinqDataSource object and something called an Object Relational Designer. The point of the former is fairly obvious, but to explain the latter, here’s a question:

What can’t you create, update, or delete in SQL Server?
Answer: objects.

From Relations to Objects

The problem is that SQL Server doesn’t present you with objects that inherit from IQueryable or IEnumerable. In fact, it doesn’t even present objects at all, just rows and columns. No properties, events, or methods even. So, if you have a Book object with properties called ISBN, Title, and ReleaseDate, saving that object to the database, as you’ve seen, involves the nontrivial task of converting it back into raw data that the database can handle. Typically, this means the object itself would be represented by a row in a table and the properties would be represented by columns within that row. Similarly, when retrieving data from the database, that data must be converted to the appropriate objects and properties for your program to work with it.

The use of DataSource objects and ADO.NET gives you a way to overcome this impedance mismatch, but only by way of allowing you to define how things should be selected or saved to a database in a given context. It would ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required