Condicional DONDE en LINQ

Hola, ¿alguna sugerencia sobre la construcción de una declaración LINQ basada en criterios de búsqueda?

Pasaré en una instancia de una clase 'SearchCriteria' con todos los parámetros que admiten nulos.

Entonces quiero

if (sc.a != null)
    // add to where

if (sc.b != null)
    // add to where

La clave es que estos son ser ORs no ANDs.

¿Algun consejo?

¿Y para los puntos de bonificación, me gustaría usar 'contiene' en un int? pero solo puedo obtener iguales o no iguales.

Respuestas a la pregunta(1)

Su respuesta a la pregunta