2009-07-01 33 views
11

Tôi gặp một lỗi:LINQ-to-sql lỗi: 'int []' không chứa một định nghĩa cho 'Có'

Lỗi 2 'int []' không chứa một định nghĩa cho 'Có' và 'System.Linq.Enumerable.Contains (System.Collections.Generic.IEnumerable, TSource)' mở rộng phương pháp quá tải tốt nhất có một số đối số không hợp lệ

Đây là mã của tôi:

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

dữ liệu gì loại là item.Type bất động sản? –

Trả lời

23

tôi rất nghi ngờ rằng item.Type không phải là int. Nó là một enum? Nếu vậy, hãy thử một cách rõ ràng đúc:

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

Ngoài ra, như ký hiệu dấu chấm:

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

Điều gì nếu item.Type là một int? (Null can int) –

+0

@AvneeshSrivastava: Sau đó, nó sẽ phụ thuộc vào loại 'validType' là gì và bạn muốn làm gì nếu' item.Type' là null. Giả sử đây là một vấn đề bạn đang phải đối mặt, tôi đề nghị bạn thử nhiều thứ khác nhau và sau đó hỏi một câu hỏi mới với tất cả các chi tiết liên quan nếu cần thiết. –

+0

Hi Jon yes Tôi đang đối mặt với vấn đề đó tôi đã hỏi một câu hỏi mới http://stackoverflow.com/q/37608704/2794391 Tôi cũng đã thử nhiều thứ từ buổi sáng, hãy giúp tôi. –

3

item.Type không phải là một int.

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

'

Các vấn đề liên quan