2009-07-01 50 views
11

estoy teniendo un error:-LINQ a SQL error: 'int []' no contiene una definición para 'Contiene'

error 2 'int []' no contiene una definición para 'Contiene' y los mejores 'System.Linq.Enumerable.Contains (System.Collections.Generic.IEnumerable, TSource)' extensión de sobrecarga método tiene algunos argumentos no válidos

Este es mi código:

public partial class mymymy : System.Web.UI.Page 
{ 
    int[] validType = { 2, 3, 4, 5, 6, 8, 13, 14, 16, 22 }; 

    protected void Page_Load(object sender, EventArgs e) 
    { 
    } 

    protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e) 
    { 
     using (var dc = new soxMainDataContext()) 
     { 
      var qry = from item in dc.LeaveRequests 
        where **validType**.Contains(item.Type) 
         && item.MgtApproval == null 
        select item; 
      e.Result = qry; 
     } 
    } 
} 
+1

Qué tipo de datos es la item.Type propiedad? –

Respuesta

23

I fuertemente sospechar que item.Type no es un int. ¿Es una enumeración? Si es así, tratar de forma explícita fundición:

var qry = from item in dc.LeaveRequests 
      where validType.Contains((int) item.Type) 
       && item.MgtApproval == null 
      select item; 

Alternativamente, como notación de puntos:

var query = dc.LeaveRequests.Where(item => validType.Contains((int) item.Type) 
              && item.MgtApproval == null); 
+0

¿Qué pasa si item.Type es un int? (Null able int) –

+0

@AvneeshSrivastava: Depende entonces del tipo 'validType' y de lo que te gustaría hacer si' item.Type' es nulo. Suponiendo que este es un problema que enfrenta actualmente, le sugiero que pruebe varias cosas y luego haga una nueva pregunta con todos los detalles relevantes si es necesario. –

+0

Hola Jon, sí, estoy enfrentando ese problema. He hecho una nueva pregunta http://stackoverflow.com/q/37608704/2794391 También he intentado muchas cosas desde la mañana, por favor, ayúdenme. –

2
var consulta = from pr in lsprodcts 
       where pr.nProductoID.ToString().Contains(Idproducto.ToString()) 
       select new 
       { 
        pr.nProductoID, 
        ProdName = pr.cNombre, 
        pr.cDescripcion, 
       }; 

`

Cuestiones relacionadas