Это решение, предполагая, что вы имели в виду ==
, а не =
:
var query = from d in database
where (x == y ? d.Attr == x : d.Attr == y)
select d;
Однако это логически равно следующему:
var query = from d in database
where d.Attr == y
select d;
Потому что,если x == y
истинно, то d.Attr == x
и d.Attr == y
будут равными.