First question on SO - I've read it many, many times so time to drop in and get my feet wet in the community!

I start by getting a single row from a Linq query:

```
var relationshipDetails = (from p in dc.tbl_ClientRelationships
                           where p.ID == relationship_id
                           select p).FirstOrDefault();

```

Then I look through a list of strings (`_cols`), which is the known column names (and also form item names) like so:

```
foreach (string c in _cols)
    {
      if (relationshipDetails.GetType().GetProperty(c).GetValue(relationshipDetails, null).ToString() != null)
        {
           setValue(relationshipDetails.GetType().GetProperty(c).GetValue(relationshipDetails, null).ToString(), c);
         }
     }

```

the `setValue()` method basically assigns the returned value to the webcontrol (and has logic to determine the type and how it should be assigned etc..)

My question, is there a better way to get a value out of a Linq object from a know property value?
It works on some forms but has recently just blown up on me!

Otherwise, I'm tempted to go back to the old method or returning a `DataRow` from the DAL and just reference by name easily!

Thanks in advance,
Mark