One obvious thing that 'leaps out' at me looking at your code is that 'strOnGameWhere' is a
string: when you add it to the string 'Bar,' of course you just get another string.
Clearly what you
intend to do is to have the LINQ evaluation in progress evaluate the condition
&& t.GameType.Contains(Texas)
as part of the 'Where' clause, so what is executed is:
where t.BeachBar == "Bar" && t.GameType.Contains(Texas)
So, to me, the issue you are dealing with is how to call a variable function in a LINQ query that is executed inside a Where clause.
In LINQ terms, as I understand them, that means the LINQ expression must 'capture' an 'outer' variable reference, in this case ... a function ? ... a lambda ?
For understanding that, and so much else in .NET, I suggest you get and read Jon Skeet's masterpiece, "C# in Depth" (Manning Press, 2nd. edition).