Para usar la sentencia IN de SQL en Linq to SQL tienes que hacer lo siguiente:
Los valores a comparar deberán estar en un tipo que implemente IEnumerable<T>, como arrays, listas genéricas, colecciones etc.
Por ejemplo usando un array de strings:
Código csharp:
Ver originalstring[] valores = "0001,0002,0003".Split(',');
o utilizando una lista genérica de strings:
Código csharp:
Ver originalvar valores
= new List
<string> {"0001",
"0002",
"0003"};
Y para hacerlo tendrás que hacer tu where al contrario de como lo posteaste en tu pregunta:
Código csharp:
Ver originalvar query = from t in db.Tabla
where valores.Contains(t.Campo)
select t;
Básicamente en el where se comprueba, si el valor de
t.Campo existe en
valores (usando
Contains).
Saludos,
--
CMS