2009-07-01 14 views
11

ich einen Fehler habe:Linq-to-SQL-Fehler: 'int []' keine Definition enthält für 'Enthält'

Fehler 2 'int []' für keine Definition enthalten 'Enthält' und die besten Verlängerung -Methodenüberladung 'System.Linq.Enumerable.Contains (System.Collections.Generic.IEnumerable, TSource)' hat einige ungültige Argumente

Dies ist mein Code:

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

Welche Datentyp ist die Eigenschaft item.Type? –

Antwort

23

ich vermute stark, dass item.Type ist kein int. Ist es ein Enum? Wenn ja, versuchen explizit Gießen:

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

Alternativ kann, wie Punktnotation:

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

Was ist, wenn item.Type ein int ist? (Nullable int) –

+0

@AvneeshSrivastava: Dann hängt es davon ab, welchen Typ 'validType' war und was Sie tun möchten, wenn 'item.Type' null ist. Angenommen, dies ist ein Problem, dem Sie derzeit gegenüberstehen, schlage ich vor, dass Sie verschiedene Dinge ausprobieren und dann bei Bedarf eine neue Frage mit allen relevanten Details stellen. –

+0

Hallo Jon ja ich stehe vor diesem Problem Ich habe eine neue Frage gestellt http://stackoverflow.com/q/37608704/2794391 Ich habe auch viele Dinge aus dem Morgen versuchen bitte helfe mir aus. –

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

`

Verwandte Themen