Не уверен, что это уместно, но это весьма полезно, вы можете использовать ifs очень удобно с условными предложениями where:
var r = (from p in productinfo.tblproduct
where p.Accountid == accountid
select p);
if (uuf1 != null)
r = r.Where(p => p.UnitUserField1 == uuf1);
if (uuf2!= null)
r = r.Where(p => p.UnitUserField2 == uuf2);
Таким образом, условие where будет изменено в соответствии с тем, что есть в UUF1 или UUF2, т. Е. У вас может быть только UUF1 с информацией, и в этом случае оно возьмет это и проигнорирует предложение UUF2 где, у вас могут быть оба, в которых оно будет принимать и то, и другое может не иметь ничего в UUF1 или 2, и ваше предложение where просто примет accountid в качестве предложения where.