When you use a LinqDataSource as the datasource for a GridView you may run into an issue if you try to display data from a child object/table in the LinqDataSource.
For example if you have an object Order and child object Customer trying to call Customer.FirstName will be blank. This is a bug in .net 3.5.
If you set EnableDelete, EnableInsert or EnableUpdate on the LinqDataSource the Eval statement will work.
Other workarounds and details can be found here:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2995461&SiteID=1
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2469812&SiteID=1