Selecting a specific row with a desired value
Will this work?

var dr= (from avTable in DAL.DataStore.DSet.Tables["Values1"].AsEnumerable()
         join pavTable in DAL.DataStore.DSet.Tables["Values2"].AsEnumerable()
             on avTable.Field&lt;int&gt;("PK") equals pavTable.Field&lt;int&gt;("FK_Value");
         where
             (pavTable.Field&lt;int&gt;("FKI_ProductAttribute") == Value2 &amp;&amp;
              avTable.Field&lt;string&gt;("Name") == "Specific Value") ||
              pavTable.Field&lt;int&gt;("FKI_ProductAttribute") == Value2
         select avTable)
        .FirstOrDefault();


I don't really have a way to test this, but I believe if the first part of the where clause criteria is met, the part after the || is skipped. If the first part returns no record then the second part is evaluated and will return a result ...or null.