2009-07-01 79 views
11

我有一個錯誤:LINQ到SQL錯誤:「INT []」不包含定義爲「包含」

錯誤2「INT []」不包含定義爲「包含」和最佳推廣方法重載「System.Linq.Enumerable.Contains(System.Collections.Generic.IEnumerable,TSource)」有一些無效參數

這是我的代碼:

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

什麼數據類型是物業項目。形式? – 2009-07-01 13:24:27

回答

23

我強烈懷疑, item.Type不是int。它是一個枚舉嗎?如果是的話,儘量明確地鑄造:

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

此外,作爲點符號:

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

如果item.Type是一個int? (Null able int) – 2016-06-03 07:08:40

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

`